Accessors

filteringState

get filteringState(): FilteringState
Returns the current FilteringState. Returns: FilteringState

Methods

hideObjects

hideObjects(
    objectIds: string[],
    stateKey: string = null,
    includeDescendants = false,
    ghost = false
  ): FilteringState
Hides the specified object ids. Parameters
  • objectIds: The ids of the objects to hide
  • optional stateKey: A way of splitting up commands coming from different controls (model explorer, filters, selection) so the viewer filtering api can know whether to reset its internal state or not
  • optional includeDescendants: Whether to include the descendants of the provided object ids
  • optional ghost Whether to ghost the rest of the objects
Returns: FilteringState

isolateObjects

isolateObjects(
    objectIds: string[],
    stateKey: string = null,
    includeDescendants = true,
    ghost = true
  ): FilteringState
Hides the specified object ids. Parameters
  • objectIds: The ids of the objects to hide
  • optional stateKey: A way of splitting up commands coming from different controls (model explorer, filters, selection) so the viewer filtering api can know whether to reset its internal state or not
  • optional includeDescendants: Whether to include the descendants of the provided object ids
  • optional ghost Whether to ghost the rest of the objects
Returns: FilteringState

isolateObjects

removeColorFilter(): FilteringState
Removes any current color filters. Returns: FilteringState

removeUserObjectColors

removeUserObjectColors(): FilteringState
Removes any current user color filters. Returns: FilteringState

resetFilters

resetFilters(): FilteringState
Removes al the current filters. Returns: FilteringState

setColorFilter

setColorFilter(prop: PropertyInfo, ghost = true): FilteringState
Applies a color filter. Parameters
  • prop: PropertyInfo
  • optional ghost” Whether to ghost the rest of the objects
Returns: FilteringState

setUserObjectColors

setUserObjectColors(
    groups: { objectIds: string[]; color: string }[]
): FilteringState
Applies a user color filter.
If used appropriately user color filters can typically be much more performant than applying multiple materials per color.
Parameters
  • groups: Groups of objects organized by color
Returns: FilteringState

showObjects

showObjects(
    objectIds: string[],
    stateKey: string = null,
    includeDescendants = false
  ): FilteringState
Shows the specified object ids. Parameters
  • objectIds: The ids of the objects to hide
  • optional stateKey: A way of splitting up commands coming from different controls (model explorer, filters, selection) so the viewer filtering api can know whether to reset its internal state or not
  • optional includeDescendants: Whether to include the descendants of the provided object ids
Returns: FilteringState

unIsolateObjects

unIsolateObjects(
    objectIds: string[],
    stateKey: string = null,
    includeDescendants = true,
    ghost = true
  ): FilteringState
Shows the specified object ids. Parameters
  • objectIds: The ids of the objects to hide
  • optional stateKey: A way of splitting up commands coming from different controls (model explorer, filters, selection) so the viewer filtering api can know whether to reset its internal state or not
  • optional includeDescendants: Whether to include the descendants of the provided object ids
  • optional ghost Whether to ghost the rest of the objects
Returns: FilteringState

Typedefs

FilteringState

type FilteringState = {
  selectedObjects?: string[];
  hiddenObjects?: string[];
  isolatedObjects?: string[];
  colorGroups?: Record<string, string>[];
  userColorGroups?: { ids: string[]; color: string }[];
  activePropFilterKey?: string;
  passMin?: number | null;
  passMax?: number | null;
};
  • selectedObjects: The current selected object ids
  • hidenObjects: The current hidden object ids
  • isolatedObjects: The current isolated object ids
  • colorGroups: The current color groups
  • userColorGroups: The current user color groups
  • activePropFilterKey: The active property filtering key
  • passMin: The minimal value of the property filtering value if numeric
  • passMax: The maximum value of the property filtering value if numeric

PropertyInfo

interface PropertyInfo {
  key: string;
  objectCount: number;
  type: 'number' | 'string';
}
Outline of a filterable property.
  • key: The property key
  • objectCount: The object count where the key is present
  • type: Property type