SelectionOptionsKit
- class HPS.SelectionOptionsKit : public HPS.Kit
The SelectionOptionsKit class is a user space object. It contains options related to selection. Default values for the SelectionOptionsKit can be found in this table.
Public Functions
- override void Dispose ()
- override bool Empty ()
Indicates whether this SelectionOptionsKit has any values set on it.
- Return
true if no values are set on this SelectionOptionsKit, false otherwise.
- bool Equals (HPS.SelectionOptionsKit in_kit)
Check if the source SelectionOptionsKit is equivalent to this SelectionOptionsKit.
- Param in_kit
The source SelectionOptionsKit to compare to this SelectionOptionsKit.
- Return
true if the objects are equivalent, false otherwise.
- override bool Equals (Object obj)
- override int GetHashCode ()
- override HPS.Type ObjectType ()
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Return
The declared type of the object in question, which may differ from the true, underlying type.
- SelectionOptionsKit ()
The default constructor creates an empty SelectionOptionsKit object.
- SelectionOptionsKit (HPS.SelectionOptionsKit in_kit)
The copy constructor creates a new SelectionOptionsKit object that contains the same settings as the source SelectionOptionsKit.
- Param in_kit
The source SelectionOptionsKit to copy.
- void Set (HPS.SelectionOptionsKit in_kit)
Copies the source SelectionOptionsKit into this SelectionOptionsKit.
- Param in_kit
The source SelectionOptionsKit to copy.
- HPS.SelectionOptionsKit SetAlgorithm (HPS.Selection.Algorithm in_algorithm)
Sets the type of selection algorithm to use. This setting has no effect on object space selections (i.e., select by shell, volume and ray).
- See
Default value
- Param in_algorithm
The type of selection algorithm to use.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetCondition (string in_condition)
Sets a condition that is applied during the selection. This allows you to use condition logic during a selection without actually activating those conditions in the scene.
- Param in_condition
The condition to set on this kit, replacing any existing conditions.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetConditions (string[] in_conditions)
Sets conditions that are applied during the selection. This allows you to use condition logic during a selection without actually activating those conditions in the scene.
- Param in_conditions
The conditions to set on this kit, replacing any existing conditions.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetDeferralExtentCullingRespected (bool in_state)
Sets whether to respect the deferral extent culling option during selection. If this value is set to false, the deferral extent culling option (see HPS.CullingKit) will be ignored.
- See
Default value
- Param in_state
Whether to respect the deferral extent culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetDistanceCullingRespected (bool in_state)
Sets whether to respect the distance culling option during selection. If this value is set to false, the distance culling option (see HPS.CullingKit) will be ignored.
- See
Default value Default value
- Param in_state
Whether to respect the distance culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetExtentCullingRespected (bool in_state)
Sets whether to respect the extent culling option during selection. If this value is set to false, the extent culling option (see HPS.CullingKit) will be ignored.
- See
Default value
- Param in_state
Whether to respect the extent culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetFaceCullingRespected (HPS.Culling.Face in_state)
Sets whether to respect the front or back face culling option during selection. If this value is set to Off, the culling option (see HPS.CullingKit) will be ignored.
- See
Default value Default value
- Param in_state
Select the face culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetFrustumCullingRespected (bool in_state)
Sets whether to respect the frustum culling option during selection. If this value is set to false, the frustum culling option (see HPS.CullingKit) will be ignored.
- See
Default value
- Param in_state
Whether to respect the frustum culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetGranularity (HPS.Selection.Granularity in_granularity)
Sets the selection granularity to use.
- See
Default value
- Param in_granularity
The selection granularity to use.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetInternalLimit (ulong in_limit)
Sets the internal selection limit. The internal selection limit is the maximum number of subentities for shells and meshes that will be returned if performing subentity selection.
- See
Internal limit in Programming Guide
- Param in_limit
The internal selection limit.
- Return
A reference to this SelectionOptionsKit
- HPS.SelectionOptionsKit SetLevel (HPS.Selection.Level in_level)
Sets the level at which selection will occur.
- See
Default value
- Param in_level
The level at which selection will occur.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetProximity (float in_proximity)
Sets the selection proximity in centimeters or object-relative-units (ORU), depending on the selection-routine being utilized. The selection proximity augments point-based or shell-based selections by also factoring in the area surrounding the selection-point or selection-shell. For HPS.SelectionControl.SelectByPoint, this specifies the radius in centimeters around the selection within which objects will be returned as selected. The value must be positive. For HPS.SelectionControl.SelectByShell, this specifies a distance in object-relative-units that determines whether a selection is performed. A positive proximity value will cause the selection algorithm to perform a selection when the distance between the two bodies is <= proximity, which means the bodies do not have to be touching in order for Visualize to perform a selection. If the proximity == 0, the bodies must be coincident or penetrating for a selection to occur. If proximity < 0, the shells must penetrate each other by at least that amount before a selection is performed. Selection proximity is not relevant for other selection types. When using HPS.SelectionControl.SelectByShell, false positives or negatives for selection may occur if the proximity and/or selection shells meet any of the following criteria:
-
The absolute value of a negative proximity is much larger than the actual intersection of the shells. An example would be a shell that represents a thin plate or a thinly-walled tube, and the specified proximity is larger than the thickness of the plate or tube.
-
Selection shells (“probes”) have vertices with complex intersections
-
Selection shells (“probes”) have concavities, especially multiple adjacent concavities.
- See
Default value
- See
Collision detection proximity
- Param in_proximity
The radius around the selection within which objects will be returned as selected.
- Return
A reference to this SelectionOptionsKit.
-
- HPS.SelectionOptionsKit SetRelatedLimit (ulong in_limit)
Sets the related selection limit. The related selection limit is the maximum number of items that will be returned as selected when performing a selection. A related selection limit of 0 would result in only the first item getting returned. If the value is greater than 0, this indicates the number of additional items beyond the first to return. The order of these additional items will depend on whether sorting is enabled (see SetSorting()).
- See
Default value
- See
Related limit in Programming Guide
- See
- Param in_limit
Limit on the number of items that will be returned as selected when performing a selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetScope (HPS.KeyPath in_start_path)
Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.
- Param in_start_path
A path of segments and includes, leaf to root, from the segment to begin selection testing to the window key.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetScope (HPS.KeyPath in_start_path, bool in_scope_only)
Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.
- Param in_start_path
A path of segments and includes, leaf to root, from the segment to begin selection testing to the window key.
- Param in_scope_only
If true selections will only occur in the leaf segments of in_start_path, otherwise selections will occur in subsegments and includes of the leaf segments of in_start_path as well.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetScope (HPS.SegmentKey in_start_segment)
Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.
- Param in_start_segment
A segment, that must be a child of the window key, in which to begin selection testing.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetScope (HPS.SegmentKey in_start_segment, bool in_scope_only)
Sets the starting location at which selection testing will begin. If the selection is being performed from a window, there must be a path from this segment to that window.
- Param in_start_segment
A segment, that must be a child of the window key, in which to begin selection testing.
- Param in_scope_only
If true selections will only occur in the provided scope segment, otherwise selections will occur in subsegments and includes of in_start_segment as well.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetSelectability (HPS.SelectabilityKit in_selectability)
Sets selectability options that are applied during the selection.
- Param in_selectability
A HPS.SelectabilityKit that encapsulates the selectability options to set on this kit.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetSorting (bool in_sorting)
Sets whether to sort selection results. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit). Sorting works on an entity level. Subentity components like edges, vertices and faces are not sorted.
- Deprecated:
This function exists for compatibility and SetSorting(Selection.Sorting) should be preferred in general usage.
- See
Default value
- Param in_sorting
Whether to sort selection results. A value of true is equivalent to passing Selection.Sorting.Default to SetSorting(Selection.Sorting), and a value of false is equivalent to passing Selection.Sorting.Off to SetSorting(Selection.Sorting).
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetSorting (HPS.Selection.Sorting in_sorting)
Sets how selection results will be sorted. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit()). Sorting works on an entity level. Subentity components like edges, vertices, and faces are not sorted. This option has no effect on SelectByShell. For SelectByPoint, all values of the Selection.Sorting enum apply. Selection.Sorting.Default is an alias for Selection.Sorting.Proximity. For all other selection types, Selection.Sorting.Proximity does not apply. Selection.Sorting.Default is an alias for Selection.Sorting.ZSorting.
- See
Default value
- See
Related limit in Programming Guide
- See
- Param in_sorting
The type of selection sorting to use.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetTreeContext (HPS.TreeContext in_tree_context)
Sets a TreeContext to be used for this selection. If many shell selections are going to be computed without modifying the segment tree, using the same tree context for all of them can be a significant optimization. If a TreeContext is not specified, a new one is computed each time.
- Param in_tree_context
The tree context to use for this relation test.
- Return
A reference to this object.
- HPS.SelectionOptionsKit SetVectorCullingRespected (bool in_state)
Sets whether to respect the vector culling option during selection. If this value is set to false, the vector culling option (see HPS.CullingKit) will be ignored.
- See
Default value Default value
- Param in_state
Whether to respect the vector culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit SetVolumeCullingRespected (bool in_state)
Sets whether to respect the volume culling option during selection. If this value is set to false, the volume culling option (see HPS.CullingKit) will be ignored.
- See
Default value Default value
- Param in_state
Whether to respect the volume culling option during selection.
- Return
A reference to this SelectionOptionsKit.
- void Show (out HPS.SelectionOptionsKit out_kit)
Copies this SelectionOptionsKit into the given SelectionOptionsKit.
- Param out_kit
The SelectionOptionsKit to populate with the contents of this SelectionOptionsKit.
- bool ShowAlgorithm (out HPS.Selection.Algorithm out_algorithm)
Shows the selection algorithm.
- Param out_algorithm
The selection algorithm.
- Return
true if the selection algorithm is valid, false otherwise.
- bool ShowConditions (out string[] out_conditions)
- bool ShowDeferralExtentCullingRespected (out bool out_state)
Shows the deferral extent culling respected state.
- Param out_state
The deferral extent culling respected state.
- Return
true if the deferral extent culling respected state is valid, false otherwise.
- bool ShowDistanceCullingRespected (out bool out_state)
Shows the distance culling respected state.
- Param out_state
The distance culling respected state.
- Return
true if the distance culling respected state is valid, false otherwise.
- bool ShowExtentCullingRespected (out bool out_state)
Shows the extent culling respected state.
- Param out_state
The extent culling respected state.
- Return
true if the extent culling respected state is valid, false otherwise.
- bool ShowFaceCullingRespected (out HPS.Culling.Face out_state)
Shows the face culling respected state.
- Param out_state
The face culling respected state.
- Return
true if the face culling respected state is valid, false otherwise.
- bool ShowFrustumCullingRespected (out bool out_state)
Shows the frustum culling respected state.
- Param out_state
The frustum culling respected state.
- Return
true if the frustum culling respected state is valid, false otherwise.
- bool ShowGranularity (out HPS.Selection.Granularity out_granularity)
Shows the selection granularity.
- Param out_granularity
The selection granularity.
- Return
true if the selection granularity is valid, false otherwise.
- bool ShowInternalLimit (out ulong out_limit)
Shows the internal selection limit.
- Param out_limit
The internal selection limit.
- Return
true if the internal selection limit is valid, false otherwise.
- bool ShowLevel (out HPS.Selection.Level out_level)
Shows the selection level.
- Param out_level
The selection level.
- Return
true if the level is valid, false otherwise.
- bool ShowProximity (out float out_proximity)
Shows the selection proximity.
- Param out_proximity
The selection proximity.
- Return
true if the proximity is valid, false otherwise.
- bool ShowRelatedLimit (out ulong out_limit)
Shows the related selection limit.
- Param out_limit
The related selection limit.
- Return
true if the related selection limit is valid, false otherwise.
- bool ShowScope (out HPS.KeyPath out_start_path, out bool out_scope_only)
Shows the starting location at which selection testing will begin.
- Param out_start_path
A segment or collection of segments and includes organized from leaf to root.
- Param out_scope_only
Whether selections will only occur in the leaf segments of out_start_path or if they can occur in subsegments and includes of the leaf segments of out_start_path.
- Return
true if a selection scope was set, false otherwise.
- bool ShowSelectability (out HPS.SelectabilityKit out_selectability)
Shows the selectability settings.
- Param out_selectability
The selectability settings
- Return
true if the selectability settings are valid, false otherwise.
- bool ShowSorting (out HPS.Selection.Sorting out_sorting)
Shows the type of selection sorting.
- Param out_sorting
The type of selection sorting to use.
- Return
true if the selection sorting type is valid, false otherwise.
- bool ShowTreeContext (out HPS.TreeContext out_tree_context)
Shows the tree context for this SelectionOptionsKit.
- Param out_tree_context
The tree context to use for this relation test.
- Return
true if a tree context was set, false otherwise.
- bool ShowVectorCullingRespected (out bool out_state)
Shows the vector culling respected state.
- Param out_state
The vector culling respected state.
- Return
true if the vector culling respected state is valid, false otherwise.
- bool ShowVolumeCullingRespected (out bool out_state)
Shows the volume culling respected state.
- Param out_state
The volume culling respected state.
- Return
true if the volume culling respected state is valid, false otherwise.
- HPS.SelectionOptionsKit UnsetAlgorithm ()
Removes the selection algorithm.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetConditions ()
Unsets all conditions in this kit.
- HPS.SelectionOptionsKit UnsetDeferralExtentCullingRespected ()
Removes the deferral extent culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetDistanceCullingRespected ()
Removes the distance culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetEverything ()
Removes all settings from this SelectionOptionsKit.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetExtentCullingRespected ()
Removes the extent culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetFaceCullingRespected ()
Removes the face culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetFrustumCullingRespected ()
Removes the frustum culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetGranularity ()
Removes the selection granularity.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetInternalLimit ()
Removes the internal selection limit.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetLevel ()
Removes the selection level.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetProximity ()
Removes the selection proximity.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetRelatedLimit ()
Removes the related selection limit.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetScope ()
Removes the selection scope setting from this SelectionOptionsKit.
- Return
A reference to this object.
- HPS.SelectionOptionsKit UnsetSelectability ()
Removes the selectability settings.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetSorting ()
Removes the selection sorting setting.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetTreeContext ()
Removes the tree context from this SelectionOptionsKit.
- Return
A reference to this object.
- HPS.SelectionOptionsKit UnsetVectorCullingRespected ()
Removes the vector culling respected option.
- Return
A reference to this SelectionOptionsKit.
- HPS.SelectionOptionsKit UnsetVolumeCullingRespected ()
Removes the volume culling respected option.
- Return
A reference to this SelectionOptionsKit.
Public Static Functions
- HPS.SelectionOptionsKit GetDefault ()
Creates a SelectionOptionsKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.
- Return
A SelectionOptionsKit with the default settings.
- bool operator!= (HPS.SelectionOptionsKit a, HPS.SelectionOptionsKit b)
- bool operator== (HPS.SelectionOptionsKit a, HPS.SelectionOptionsKit b)