Properties
Methods
- add
- advance
Incremental Selection - begin
Convex Polyhedron Selection - begin
Ray Drill Selection - begin
Screen Select ByArea - begin
Sphere Selection - clear
- contains
- contains
Parent - each
- end
Incremental Selection - export
Selection Data - get
First - get
Highlight Face Element Selection - get
Highlight Line Element Selection - get
Highlight Node Selection - get
Highlight Point Element Selection - get
Ignore Entity When Toggling Child Selection - get
Last - get
Node Element Selection Color - get
Node Element Selection Highlight Mode - get
Node Element Selection Outline Color - get
Node Selection Color - get
Node Selection Highlight Mode - get
Node Selection Outline Color - get
Pick Tolerance - get
Prune Selection Descendants - get
Result - get
Results - get
Select Parent IfSelected - get
Selected Layers - get
Selected Types - get
Selection Filter - get
Single Entity Toggle Mode Enabled - get
Suppress Implicit Removal Callback - is
Node Selected - is
Selected - load
Selection Data - remove
- select
All From Point - select
All From Ray - select
From Point - select
From Ray - select
Layer - select
Node - select
Type - set
- set
Highlight Face Element Selection - set
Highlight Line Element Selection - set
Highlight Node Selection - set
Highlight Point Element Selection - set
Ignore Entity When Toggling Child Selection - set
Node Element Selection Color - set
Node Element Selection Highlight Mode - set
Node Element Selection Outline Color - set
Node Selection Color - set
Node Selection Highlight Mode - set
Node Selection Outline Color - set
Pick Tolerance - set
Prune Selection Descendants - set
Select Parent IfSelected - set
Selection Filter - set
Single Entity Toggle Mode Enabled - set
Suppress Implicit Removal Callback - size
- toggle
Properties
Static ifcSelectionFilter
Type declaration
-
-
Parameters
-
nodeId: number
-
model: Model
Returns number | null
-
-
Methods
add
-
Manually adds an item or array of items to the selection set. Triggers a selection event.
Parameters
-
itemOrItems: NodeSelectionItem | NodeSelectionItem[] | null
A selectionItem or selectionItem array that will be added to the current selection set.
-
Optional suppressCallback: boolean
Optional boolean param to suppress the selectionArray callbacks calls to this generate.
Returns void
-
advanceIncrementalSelection
-
Adds the next batch of instances selected by the supplied selection context to the selection set.
Parameters
-
handle: IncrementalSelectionId
The handle to an active area selection context.
-
Optional predicate: function | null
An optional function that returns
true
if a given NodeSelectionItem should be added to the selection set. Iffalse
is returned, the item will not be added.
Returns Promise<boolean>
true
if there are possibly more items to select andfalse
if not. -
advanceVolumeSelection
[deprecated]
-
Parameters
-
handle: IncrementalSelectionId
-
Optional predicate: function | null
Returns Promise<boolean>
-
beginConvexPolyhedronSelection
-
Creates a new and active selection context for the provided selection volume. The selection volume is a convex polyhedron defined by the bounded intersection of its half-spaces.
Parameters
-
volumePlanes: Plane[]
The planes used to define volume. A point p is inside the volume if and only if (plane.determineSide(p) == true) for all supplied planes.
-
heuristicOrigin: Point3
A point used to compute distances against for ordering returned results. This is typically (but not necessarily) the center of the volume.
-
config: IncrementalPickConfig
The configuration object used for this selection operation.
Returns Promise<IncrementalSelectionId>
The handle for the selection context.
-
beginRayDrillSelection
-
Creates a new and active selection context for the provided selection ray. The ray is created at the supplied ray origin and is cast into the scene. Faces are selected if they lie along the ray. Lines and points are selected if they lie within the ray's box radius.
Note: Somewhat confusingly ray drill selection is actually a selection by volume. The provided ray origin and radius are used to create a frustum to preform the selection. This has some consequences. For example, the
SelectionResult
s returned by advancing a ray drill selection will not have selection positions, since they were not selected at a single point.Parameters
-
rayCssOrigin: Point2
The coordinate in css pixel space for the selection ray's origin.
-
rayCssBoxRadius: number
The radius around the ray in css pixel space used for line and point selection proximity.
-
config: IncrementalPickConfig
The configuration object used for this selection operation.
Returns Promise<IncrementalSelectionId>
The handle for the selection context.
-
beginScreenSelectByArea
-
Creates a new and active selection context for the provided selection window.
Parameters
-
areaCssMin: Point2
The minimum coordinate in css pixel space for the selection window.
-
areaCssMax: Point2
The maximum coordinate in css pixel space for the selection window.
-
config: IncrementalPickConfig
The configuration object used for this selection operation.
Returns Promise<IncrementalSelectionId>
The handle for the selection context.
-
beginSphereSelection
-
Creates a new and active selection context for the provided selection sphere.
Parameters
-
sphereCenter: Point3
The center of the selection sphere.
-
sphereRadius: number
The radius of the selection sphere.
-
config: IncrementalPickConfig
The configuration object used for this selection operation.
Returns Promise<IncrementalSelectionId>
The handle for the selection context.
-
clear
-
Removes all items from the selection set.
Parameters
-
Optional triggerCallback: boolean
triggers a null selection callback when true.
Returns void
-
contains
-
Parameters
-
item: SelectionItem
Returns boolean
-
containsParent
-
Checks if the parent of a selection item is in the selection set.
Parameters
-
item: NodeSelectionItem
Returns NodeSelectionItem | null
parent selection item, or null if not found
-
each
-
Iterates over all selection items. The function passed in will be called once for every selection item and will receive the item as its parameter.
Parameters
-
func: function
a function to be called for every selection item.
-
-
Parameters
Returns void
-
-
Returns void
-
endIncrementalSelection
-
Deactivates and destroys the provided selection context.
Parameters
-
handle: IncrementalSelectionId
The selection context to destroy.
Returns DeprecatedPromise
-
endVolumeSelection
[deprecated]
-
Parameters
-
handle: IncrementalSelectionId
Returns DeprecatedPromise
-
exportSelectionData
-
Exports selection objects so that they may be loaded back into the the system at a later time using loadSelectionData.
Returns Object[]
exported selection data.
getFirst
-
Gets the least recent selection item.
Returns NodeSelectionItem | null
the least recently selected item (if any).
getHighlightFaceElementSelection
-
Gets whether face elements will be highlighted on selection.
Returns boolean
boolean the current value for face element selection highlighting.
getHighlightLineElementSelection
-
Gets whether line elements will be highlighted on selection.
Returns boolean
boolean the current value for line element selection highlighting.
getHighlightNodeSelection
-
Gets whether nodes will be highlighted on selection.
Returns boolean
the current value for node selection highlighting.
getHighlightPointElementSelection
-
Gets whether point elements will be highlighted on selection.
Returns boolean
boolean the current value for point element selection highlighting.
getIgnoreEntityWhenTogglingChildSelection
-
Gets whether ignore entity when toggling child selection mode is enabled. See also: setIgnoreEntityWhenTogglingChildSelection
Returns boolean
getLast
-
Gets the most recent selection item.
Returns NodeSelectionItem | null
the most recently selected item (if any).
getNodeElementSelectionColor
-
Gets the color to use for face and line selection.
Returns Color
the color used for face and line selection.
getNodeElementSelectionHighlightMode
-
Returns SelectionHighlightMode
getNodeElementSelectionOutlineColor
-
Gets the color to use for outlining face and line selection.
Returns Color
color the color used for outlining face and line selection.
getNodeSelectionColor
-
Gets the color to be used when selecting nodes.
Returns Color
the color that is applied to a selected node.
getNodeSelectionHighlightMode
-
Gets the highlighting mode for selected nodes.
Returns SelectionHighlightMode
the current
getNodeSelectionOutlineColor
-
Gets the color to be used for outlining the node selection.
Returns Color
the color for node selection outline.
getPickTolerance
-
Gets the pick tolerance in pixels for line and point picking.
The default value is 20.
Returns number
number Pick tolerance value in pixels
getPruneSelectionDescendants
-
Gets whether descendant pruning is enabled. See also: setPruneSelectionDescendants
Returns boolean
getResult
-
Gets a selection at the specified index. The first selected item will be at index 0.
Parameters
-
index: number
index of selection item to get
Returns NodeSelectionItem | null
the selection result at the given index.
-
getResults
-
Gets all current selection items.
Returns NodeSelectionItem[]
array of all selection items.
getSelectParentIfSelected
-
Gets whether automatic parent selection is enabled. See also: setSelectParentIfSelected
Returns boolean
getSelectedLayers
-
Gets all selected layers.
Returns LayerName[]
getSelectedTypes
-
Gets all selected IFC types.
Returns GenericType[]
getSelectionFilter
-
Returns SelectionFilter | null
SelectionFilter function or null if none is set.
getSingleEntityToggleModeEnabled
-
Gets whether single entity toggle mode is enabled. See also: setSingleEntityToggleModeEnabled
Returns boolean
getSuppressImplicitRemovalCallback
-
Gets whether implicit removal callbacks are being suppressed See also: setSuppressImplicitRemovalCallback
Returns boolean
isNodeSelected
-
Checks whether a node, or its parents, appear in the selection set or not. Note: for the purposes of this function element selections on a node are considered the same as node selection.
Parameters
-
nodeId: NodeId
Node to check for
Returns boolean
true
if the node or its parents appear in the selection set.false
otherwise -
isSelected
-
Parameters
-
item: SelectionItem
Returns boolean
-
loadSelectionData
-
Loads serialized selection items exported using exportSelectionData back into the SelectionManager. The current selection will be cleared. A selection event will be triggered for each loaded item. This method should not be called before the CallbackMap.modelStructureReady callback has been triggered.
Parameters
-
datas: Object[] | string
Returns void
-
remove
-
Manually removes an item or an array of items from the selection set. Triggers a selection event.
Parameters
-
itemOrItems: NodeSelectionItem | NodeSelectionItem[]
A selectionItem or an array of selection items that will be removed from the current selection set.
-
Optional suppressCallback: boolean
Optional boolean param to suppress the selectionArray callbacks calls to this generate.
Returns void
-
selectAllFromPoint
-
Performs a selection operation from the given position on the canvas. All candidate entities are selected. This method triggers a selection event.
Parameters
-
point: Point2
The canvas position to select from.
-
config: PickConfig
The configuration object used for this picking operation.
-
Optional selectionMode: SelectionMode
The mode to use for this selection.
Returns Promise<void>
Promise that resolves when this operation has completed.
-
selectAllFromRay
-
Performs a selection operation from the given world-space ray. All candidate entities are selected. This method triggers a selection event.
Parameters
-
ray: Ray
The world-space ray to perform the selection with.
-
config: PickConfig
The configuration object used for this picking operation.
-
Optional selectionMode: SelectionMode
The mode to use for this selection.
Returns Promise<void>
Promise that resolves when this operation has completed.
-
selectFromPoint
-
Performs a selection operation from the given position on the canvas. The best candidate entity is selected. This method triggers a selection event.
Parameters
-
point: Point2
The canvas position to select from.
-
config: PickConfig
The configuration object used for this picking operation.
-
Optional selectionMode: SelectionMode
The mode to use for this selection.
Returns Promise<void>
Promise that resolves when this operation has completed.
-
selectFromRay
-
Performs a selection operation from the given world-space ray. The best candidate entity is selected. This method triggers a selection event.
Parameters
-
ray: Ray
The world-space ray to perform the selection with.
-
config: PickConfig
The configuration object used for this picking operation.
-
Optional selectionMode: SelectionMode
The mode to use for this selection.
Returns Promise<void>
Promise that resolves when this operation has completed.
-
selectLayer
-
Adds all items in a layer to the selection set.
Parameters
-
layerName: LayerName
-
selectionMode: SelectionMode
Returns void
-
selectNode
-
Selects a node with the given Id.
Parameters
-
nodeId: NodeId | null
nodeId of the node to select. Pass null to clear the selection.
-
Optional selectionMode: SelectionMode
Returns SelectionType
the selection type of this operation.
-
selectType
-
Adds all items with an IFC type to the selection set.
Parameters
-
genericType: GenericType
-
selectionMode: SelectionMode
Returns void
-
set
-
Manually removes all currently selected items (if any) from the selection set and adds the supplied item. Triggers a selection event.
Parameters
-
selection: NodeSelectionItem | null
Returns void
-
setHighlightFaceElementSelection
-
Sets whether face elements should be highlighted when a selection occurs. By default the system will automatically highlight face elements associated with a selection item.
Parameters
-
highlightFaceElementSelection: boolean
value indicating whether selected face elements should be highlighted.
Returns DeprecatedPromise
-
setHighlightLineElementSelection
-
Sets whether line elements should be highlighted when a selection occurs. By default the system will automatically highlight line elements associated with a selection item.
Parameters
-
highlightLineElementSelection: boolean
value indicating whether selected line elements should be highlighted.
Returns DeprecatedPromise
-
setHighlightNodeSelection
-
Sets whether nodes should be highlighted when a selection occurs. By default, the system will automatically highlight the node associated with a selection item.
Parameters
-
highlightSelection: boolean
Returns DeprecatedPromise
-
setHighlightPointElementSelection
-
Sets whether point elements should be highlighted when a selection occurs. By default the system will automatically highlight point elements associated with a selection item.
Parameters
-
highlightPointElementSelection: boolean
value indicating whether selected point elements should be highlighted.
Returns DeprecatedPromise
-
setIgnoreEntityWhenTogglingChildSelection
-
Enables / disables ignore entity when toggling child selection mode.
When enabled, a Selection.NodeSelectionItem that has a selected ancestor may only be toggled if it does not contain an entity selection. A selection item without an entity selection is usually generated from selecting a node via a model tree control. A selection item containing an entity selection is usually generated as a result of a viewport picking operation.
This behavior is enabled by default. See Also: toggle
Parameters
-
strictMode: boolean
Returns void
-
setNodeElementSelectionColor
-
Sets the color to use for node element selection. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
color: Color
the color to apply to selected node elements.
Returns DeprecatedPromise
-
setNodeElementSelectionHighlightMode
-
Sets the highlighting mode for selected node elements. The default behavior is to highlight the node element and render an overlay outline. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
highlightMode: SelectionHighlightMode
the highlighting mode that will be applied to selected nodes.
Returns DeprecatedPromise
-
setNodeElementSelectionOutlineColor
-
Gets the color to use for outlining node element selection. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
color: Color
the color used for outlining face and line selection.
Returns DeprecatedPromise
-
setNodeSelectionColor
-
Sets the color to be used when selecting nodes. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
color: Color
the color to apply to the selected node.
Returns DeprecatedPromise
-
setNodeSelectionHighlightMode
-
Sets the highlighting mode for selected nodes. The default behavior is to highlight the node and render an overlay outline. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
highlightMode: SelectionHighlightMode
the highlighting mode that will be applied to selected nodes.
Returns DeprecatedPromise
-
setNodeSelectionOutlineColor
-
Sets color for the node selection outline. This method should not be called before the sceneReady callback has been triggered.
Parameters
-
color: Color
the color to apply to the node selection outline.
Returns DeprecatedPromise
-
setPickTolerance
-
Sets the pick tolerance in pixels for line and point picking. If a line or point is within this pixel tolerance of the click point, it will be prioritized over the face at the click position.
The default value is 20.
Parameters
-
tolerance: number
Returns void
-
setPruneSelectionDescendants
-
Enables / disables descendant pruning and clears the current selection set. When enabled, a parent and child will not be present in the same selection set. This behavior is enabled by default.
Parameters
-
pruneSelectionDescendants: boolean
Returns void
-
setSelectParentIfSelected
-
Enables / disables automatic parent selection. When enabled, if a selected part is selected again, its parent will be selected. This behavior is enabled by default.
Parameters
-
selectParent: boolean
Returns void
-
setSelectionFilter
-
This allows manipulating the selected NodeId. To reset the filter, set it to null.
Parameters
-
selectionFilter: SelectionFilter | null
function that manipulates the selected NodeId.
Returns void
-
setSingleEntityToggleModeEnabled
-
Enables / disables single entity toggle mode.
When enabled, limits the selection set to containing only one entity selection for each node id. Toggling with an entity selection that has the same node id as a Selection.NodeSelectionItem already in the selection set will remove that item from the selection set.
This behavior is disabled by default. See Also: toggle
Parameters
-
enabled: boolean
Returns void
-
setSuppressImplicitRemovalCallback
-
Sets whether to generate selectionArray callbacks with implicitly removed nodes.
For example, consider the case where you have a parent node that has a multiple child nodes. Normally, if the parent begins selected and then a child is removed from the selection set there will be two selectionArray callbacks generated. The first will for the removal of the parent node. The second wil be for the addition of all of it's children except the one that was initially removed.
When this behavior is enabled only a single selectionArray callback will be generated for the child node that was removed.
This behavior is disabled by default.
Parameters
-
suppress: boolean
Returns void
-
size
-
Gets the number of selection items.
Returns number
the number of selected items.
toggle
-
Manually adds or removes an item from the selection set. Triggers a selection event.
Parameters
-
item: NodeSelectionItem
Returns void
-
This class provides the main interface into the selection functionality of the viewer. The class manages a list of selection items that are optionally highlighted as the user selects objects in the scene.