SelectionOptionsControl

class HPS.SelectionOptionsControl : public HPS.Control

The HPS.SelectionOptionsControl class is a smart pointer that is tied to a database object. It is used to set selection related options on a HPS.WindowKey. Options include the selection algorithm, granularity, internal limit, related limit, level, proximity, and sorting. Default values for the various fields of HPS.SelectionOptionsControl can be found here.

Public Functions

override void Dispose ()
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.

SelectionOptionsControl (HPS.SelectionOptionsControl in_that)

The copy constructor creates a SelectionOptionsControl object that shares the underlying smart-pointer of the source SelectionOptionsControl.

Param in_that

The source SelectionOptionsControl to copy.

SelectionOptionsControl (HPS.WindowKey in_window)

This constructor creates a SelectionOptionsControl object which is tied to the specified window.

Param in_window

The window which this SelectionOptionsControl should operate on.

HPS.SelectionOptionsControl 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 SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the deferral extent culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the distance culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the extent culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl SetFaceCullingRespected (HPS.Culling.Face in_state)

Sets whether to respect the face culling option during selection. If this value is set to Off, the face culling option (see HPS.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the back/front face culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the frustum culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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 SelectionOptionsControl.

HPS.SelectionOptionsControl 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

Default value

Param in_limit

The internal selection limit.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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 SelectionOptionsControl.

HPS.SelectionOptionsControl 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.SelectionOptionsControl 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

SetSorting(Selection.Sorting)

Param in_limit

Limit on the number of items that will be returned as selected when performing a selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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 SelectionOptionsControl.

HPS.SelectionOptionsControl 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

SetRelatedLimit()

Param in_sorting

The type of selection sorting to use.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the vector culling option during selection.

Return

A reference to this SelectionOptionsControl.

HPS.SelectionOptionsControl 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.CullingControl) will be ignored.

See

Default value

Param in_state

Whether to respect the volume culling option during selection.

Return

A reference to this SelectionOptionsControl.

bool ShowAlgorithm (out HPS.Selection.Algorithm out_algorithm)

Shows the selection algorithm for the associated window.

Param out_algorithm

The selection algorithm for the associated window.

Return

true if the selection algorithm is valid, false otherwise.

bool ShowDeferralExtentCullingRespected (out bool out_state)

Shows the deferral extent culling respected state for the associated window.

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 for the associated window.

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 for the associated window.

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 for the associated window.

Param out_state

The face culling respected state [Off, Front, Back].

Return

true if the distance culling respected state is valid, false otherwise.

bool ShowFrustumCullingRespected (out bool out_state)

Shows the frustum culling respected state for the associated window.

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 for the associated window.

Param out_granularity

The selection granularity for the associated window.

Return

true if the selection granularity is valid, false otherwise.

bool ShowInternalLimit (out ulong out_limit)

Shows the internal selection limit for the associated window.

Param out_limit

The internal selection limit for the associated window.

Return

true if the internal selection limit is valid, false otherwise.

bool ShowLevel (out HPS.Selection.Level out_level)

Shows the selection level for the associated window.

Param out_level

The selection level for the associated window.

Return

true if the level is valid, false otherwise.

bool ShowProximity (out float out_proximity)

Shows the selection proximity for the associated window.

Param out_proximity

The selection proximity for the associated window.

Return

true if the proximity is valid, false otherwise.

bool ShowRelatedLimit (out ulong out_limit)

Shows the related selection limit for the associated window.

Param out_limit

The related selection limit for the associated window.

Return

true if the related selection limit is valid, false otherwise.

bool ShowSorting (out HPS.Selection.Sorting out_sorting)

Shows the type of selection sorting for the associated window.

Param out_sorting

The type of selection sorting to use for the associated window.

Return

true if the selection sorting type is valid, false otherwise.

bool ShowVectorCullingRespected (out bool out_state)

Shows the vector culling respected state for the associated window.

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 for the associated window.

Param out_state

The volume culling respected state.

Return

true if the volume culling respected state is valid, false otherwise.

HPS.SelectionOptionsControl UnsetAlgorithm ()

Removes the Algorithm setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetDeferralExtentCullingRespected ()

Removes the Deferral Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetDistanceCullingRespected ()

Removes the distance Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetEverything ()

Removes all settings from this control. If the control is attached to a WindowKey this function restores the default settings of this control as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetExtentCullingRespected ()

Removes the ExtentCulling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetFaceCullingRespected ()

Removes the face Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetFrustumCullingRespected ()

Removes the Frustum Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetGranularity ()

Removes the Granularity setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetInternalLimit ()

Removes the Internal Limit setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetLevel ()

Removes the Selection Level setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetProximity ()

Removes the Proximity setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetRelatedLimit ()

Removes the Related Limit setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetSorting ()

Removes the Sorting setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetVectorCullingRespected ()

Removes the Vector Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.

HPS.SelectionOptionsControl UnsetVolumeCullingRespected ()

Removes the Volume Culling setting from this control. If the control is attached to a WindowKey this function restores the default setting as specified by SelectionOptionsKit.GetDefault().

Return

A reference to this object.