@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
56 lines (55 loc) • 2.13 kB
TypeScript
import { Extension } from './Extension.js';
import { WorldTree } from '../tree/WorldTree.js';
import { type IViewer } from '../../IViewer.js';
import type { PropertyInfo } from '../filtering/PropertyManager.js';
/** TO DO: Should remove selectedObjects entirely*/
export type FilteringState = {
selectedObjects?: string[];
hiddenObjects?: string[];
isolatedObjects?: string[];
colorGroups?: {
value: string;
color: string;
ids: string[];
}[];
userColorGroups?: {
ids: string[];
color: string;
}[];
activePropFilterKey?: string;
passMin?: number | null;
passMax?: number | null;
};
export declare class FilteringExtension extends Extension {
WTI: WorldTree;
private Renderer;
private StateKey;
private VisibilityState;
private ColorStringFilterState;
private ColorNumericFilterState;
private UserspaceColorState;
private CurrentFilteringState;
get filteringState(): FilteringState;
get enabled(): boolean;
set enabled(value: boolean);
constructor(viewer: IViewer);
hideObjects(objectIds: string[], stateKey?: string | undefined, includeDescendants?: boolean, ghost?: boolean): FilteringState;
showObjects(objectIds: string[], stateKey?: string | undefined, includeDescendants?: boolean): FilteringState;
isolateObjects(objectIds: string[], stateKey?: string | undefined, includeDescendants?: boolean, ghost?: boolean): FilteringState;
unIsolateObjects(objectIds: string[], stateKey?: string | undefined, includeDescendants?: boolean, ghost?: boolean): FilteringState;
private setVisibilityState;
private visibilityWalk;
setColorFilter(prop: PropertyInfo, ghost?: boolean): FilteringState;
private setNumericColorFilter;
private setStringColorFilter;
removeColorFilter(): FilteringState;
setUserObjectColors(groups: {
objectIds: string[];
color: string;
}[]): FilteringState;
removeUserObjectColors(): FilteringState;
resetFilters(): FilteringState | null;
private setFilters;
private idCache;
private getDescendantIds;
}