HPS::SelectionOptionsControl Class Reference

#include <hps.h>

Inheritance diagram for HPS::SelectionOptionsControl:
HPS::Control HPS::Object

Public Member Functions

HPS::Type ObjectType () const
 
SelectionOptionsControloperator= (SelectionOptionsControl &&in_that)
 
SelectionOptionsControloperator= (SelectionOptionsControl const &in_that)
 
 SelectionOptionsControl (WindowKey const &in_window)
 
 SelectionOptionsControl (SelectionOptionsControl const &in_that)
 
 SelectionOptionsControl (SelectionOptionsControl &&in_that)
 
SelectionOptionsControlSetAlgorithm (Selection::Algorithm in_algorithm)
 
SelectionOptionsControlSetDeferralExtentCullingRespected (bool in_state)
 
SelectionOptionsControlSetDistanceCullingRespected (bool in_state)
 
SelectionOptionsControlSetExtentCullingRespected (bool in_state)
 
SelectionOptionsControlSetFrustumCullingRespected (bool in_state)
 
SelectionOptionsControlSetGranularity (Selection::Granularity in_granularity)
 
SelectionOptionsControlSetInternalLimit (size_t in_limit)
 
SelectionOptionsControlSetLevel (Selection::Level in_level)
 
SelectionOptionsControlSetProximity (float in_proximity)
 
SelectionOptionsControlSetRelatedLimit (size_t in_limit)
 
SelectionOptionsControlSetSorting (bool in_sorting)
 
SelectionOptionsControlSetSorting (Selection::Sorting in_sorting)
 
SelectionOptionsControlSetVectorCullingRespected (bool in_state)
 
SelectionOptionsControlSetVolumeCullingRespected (bool in_state)
 
bool ShowAlgorithm (Selection::Algorithm &out_algorithm) const
 
bool ShowDeferralExtentCullingRespected (bool &out_state) const
 
bool ShowDistanceCullingRespected (bool &out_state) const
 
bool ShowExtentCullingRespected (bool &out_state) const
 
bool ShowFrustumCullingRespected (bool &out_state) const
 
bool ShowGranularity (Selection::Granularity &out_granularity) const
 
bool ShowInternalLimit (size_t &out_limit) const
 
bool ShowLevel (Selection::Level &out_level) const
 
bool ShowProximity (float &out_proximity) const
 
bool ShowRelatedLimit (size_t &out_limit) const
 
bool ShowSorting (Selection::Sorting &out_sorting) const
 
bool ShowVectorCullingRespected (bool &out_state) const
 
bool ShowVolumeCullingRespected (bool &out_state) const
 
virtual HPS::Type Type () const
 
SelectionOptionsControlUnsetAlgorithm ()
 
SelectionOptionsControlUnsetDeferralExtentCullingRespected ()
 
SelectionOptionsControlUnsetDistanceCullingRespected ()
 
SelectionOptionsControlUnsetEverything ()
 
SelectionOptionsControlUnsetExtentCullingRespected ()
 
SelectionOptionsControlUnsetFrustumCullingRespected ()
 
SelectionOptionsControlUnsetGranularity ()
 
SelectionOptionsControlUnsetInternalLimit ()
 
SelectionOptionsControlUnsetLevel ()
 
SelectionOptionsControlUnsetProximity ()
 
SelectionOptionsControlUnsetRelatedLimit ()
 
SelectionOptionsControlUnsetSorting ()
 
SelectionOptionsControlUnsetVectorCullingRespected ()
 
SelectionOptionsControlUnsetVolumeCullingRespected ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::SelectionOptionsControl
 
- Static Public Attributes inherited from HPS::Control
static const HPS::Type staticType = HPS::Type::Control
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 
- Protected Member Functions inherited from HPS::Control
 Control (Control &&in_that)
 
Controloperator= (Control &&in_that)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SelectionOptionsControl() [1/3]

HPS::SelectionOptionsControl::SelectionOptionsControl ( WindowKey const &  in_window)
explicit

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

Parameters
in_windowThe window which this SelectionOptionsControl should operate on.

◆ SelectionOptionsControl() [2/3]

HPS::SelectionOptionsControl::SelectionOptionsControl ( SelectionOptionsControl const &  in_that)

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

Parameters
in_thatThe source SelectionOptionsControl to copy.

◆ SelectionOptionsControl() [3/3]

HPS::SelectionOptionsControl::SelectionOptionsControl ( SelectionOptionsControl &&  in_that)

The move constructor creates a SelectionOptionsControl by transferring the underlying impl of the rvalue reference to this SelectionOptionsControl thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a SelectionOptionsControl to take the impl from.

Member Function Documentation

◆ ObjectType()

HPS::Type HPS::SelectionOptionsControl::ObjectType ( ) const
inlinevirtual

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).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Control.

◆ operator=() [1/2]

SelectionOptionsControl& HPS::SelectionOptionsControl::operator= ( SelectionOptionsControl &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this SelectionOptionsControl thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a SelectionOptionsControl to take the impl from.
Returns
A reference to this SelectionOptionsControl.

◆ operator=() [2/2]

SelectionOptionsControl& HPS::SelectionOptionsControl::operator= ( SelectionOptionsControl const &  in_that)

Share the underlying smart-pointer of the SelectionOptionsControl source.

Parameters
in_thatThe SelectionOptionsControl source of the assignment.
Returns
A reference to this SelectionOptionsControl.

◆ SetAlgorithm()

SelectionOptionsControl& HPS::SelectionOptionsControl::SetAlgorithm ( 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).

Parameters
in_algorithmThe type of selection algorithm to use.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetDeferralExtentCullingRespected()

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.

Parameters
in_stateWhether to respect the deferral extent culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetDistanceCullingRespected()

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.

Parameters
in_stateWhether to respect the distance culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetExtentCullingRespected()

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.

Parameters
in_stateWhether to respect the extent culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetFrustumCullingRespected()

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.

Parameters
in_stateWhether to respect the frustum culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetGranularity()

SelectionOptionsControl& HPS::SelectionOptionsControl::SetGranularity ( Selection::Granularity  in_granularity)

Sets the selection granularity to use.

Parameters
in_granularityThe selection granularity to use.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetInternalLimit()

SelectionOptionsControl& HPS::SelectionOptionsControl::SetInternalLimit ( size_t  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.

Parameters
in_limitThe internal selection limit.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetLevel()

SelectionOptionsControl& HPS::SelectionOptionsControl::SetLevel ( Selection::Level  in_level)

Sets the level at which selection will occur.

Parameters
in_levelThe level at which selection will occur.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetProximity()

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.
Parameters
in_proximityThe radius around the selection within which objects will be returned as selected.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
Collision detection proximity

◆ SetRelatedLimit()

SelectionOptionsControl& HPS::SelectionOptionsControl::SetRelatedLimit ( size_t  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()).

Parameters
in_limitLimit on the number of items that will be returned as selected when performing a selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value
SetSorting(Selection::Sorting)

◆ SetSorting() [1/2]

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.

Parameters
in_sortingWhether 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).
Returns
A reference to this SelectionOptionsControl.
See also
Default value
Deprecated:
This function exists for compatibility and SetSorting(Selection::Sorting) should be preferred in general usage.

◆ SetSorting() [2/2]

SelectionOptionsControl& HPS::SelectionOptionsControl::SetSorting ( 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.

Parameters
in_sortingThe type of selection sorting to use.
Returns
A reference to this SelectionOptionsControl.
See also
Default value
Related limit in Programming Guide
SetRelatedLimit()

◆ SetVectorCullingRespected()

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.

Parameters
in_stateWhether to respect the vector culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ SetVolumeCullingRespected()

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.

Parameters
in_stateWhether to respect the volume culling option during selection.
Returns
A reference to this SelectionOptionsControl.
See also
Default value

◆ ShowAlgorithm()

bool HPS::SelectionOptionsControl::ShowAlgorithm ( Selection::Algorithm out_algorithm) const

Shows the selection algorithm for the associated window.

Parameters
out_algorithmThe selection algorithm for the associated window.
Returns
true if the selection algorithm is valid, false otherwise.

◆ ShowDeferralExtentCullingRespected()

bool HPS::SelectionOptionsControl::ShowDeferralExtentCullingRespected ( bool &  out_state) const

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

Parameters
out_stateThe deferral extent culling respected state.
Returns
true if the deferral extent culling respected state is valid, false otherwise.

◆ ShowDistanceCullingRespected()

bool HPS::SelectionOptionsControl::ShowDistanceCullingRespected ( bool &  out_state) const

Shows the distance culling respected state for the associated window.

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

◆ ShowExtentCullingRespected()

bool HPS::SelectionOptionsControl::ShowExtentCullingRespected ( bool &  out_state) const

Shows the extent culling respected state for the associated window.

Parameters
out_stateThe extent culling respected state.
Returns
true if the extent culling respected state is valid, false otherwise.

◆ ShowFrustumCullingRespected()

bool HPS::SelectionOptionsControl::ShowFrustumCullingRespected ( bool &  out_state) const

Shows the frustum culling respected state for the associated window.

Parameters
out_stateThe frustum culling respected state.
Returns
true if the frustum culling respected state is valid, false otherwise.

◆ ShowGranularity()

bool HPS::SelectionOptionsControl::ShowGranularity ( Selection::Granularity out_granularity) const

Shows the selection granularity for the associated window.

Parameters
out_granularityThe selection granularity for the associated window.
Returns
true if the selection granularity is valid, false otherwise.

◆ ShowInternalLimit()

bool HPS::SelectionOptionsControl::ShowInternalLimit ( size_t &  out_limit) const

Shows the internal selection limit for the associated window.

Parameters
out_limitThe internal selection limit for the associated window.
Returns
true if the internal selection limit is valid, false otherwise.

◆ ShowLevel()

bool HPS::SelectionOptionsControl::ShowLevel ( Selection::Level out_level) const

Shows the selection level for the associated window.

Parameters
out_levelThe selection level for the associated window.
Returns
true if the level is valid, false otherwise.

◆ ShowProximity()

bool HPS::SelectionOptionsControl::ShowProximity ( float &  out_proximity) const

Shows the selection proximity for the associated window.

Parameters
out_proximityThe selection proximity for the associated window.
Returns
true if the proximity is valid, false otherwise.

◆ ShowRelatedLimit()

bool HPS::SelectionOptionsControl::ShowRelatedLimit ( size_t &  out_limit) const

Shows the related selection limit for the associated window.

Parameters
out_limitThe related selection limit for the associated window.
Returns
true if the related selection limit is valid, false otherwise.

◆ ShowSorting()

bool HPS::SelectionOptionsControl::ShowSorting ( Selection::Sorting out_sorting) const

Shows the type of selection sorting for the associated window.

Parameters
out_sortingThe type of selection sorting to use for the associated window.
Returns
true if the selection sorting type is valid, false otherwise.

◆ ShowVectorCullingRespected()

bool HPS::SelectionOptionsControl::ShowVectorCullingRespected ( bool &  out_state) const

Shows the vector culling respected state for the associated window.

Parameters
out_stateThe vector culling respected state.
Returns
true if the vector culling respected state is valid, false otherwise.

◆ ShowVolumeCullingRespected()

bool HPS::SelectionOptionsControl::ShowVolumeCullingRespected ( bool &  out_state) const

Shows the volume culling respected state for the associated window.

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

◆ Type()

virtual HPS::Type HPS::SelectionOptionsControl::Type ( ) const
inlinevirtual

This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types.

Warning
This function must synchronize the database (by waiting for all pending database operations to complete) in order to know the type status of this object with certainty. Therefore this function can negatively impact performance. You should vigorously avoid using this function in high-traffic or peformance-critical areas of your code.
Returns
The true type of the object in question.

Reimplemented from HPS::Control.

◆ UnsetAlgorithm()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetDeferralExtentCullingRespected()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetDistanceCullingRespected()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetEverything()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetExtentCullingRespected()

SelectionOptionsControl& HPS::SelectionOptionsControl::UnsetExtentCullingRespected ( )

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

Returns
A reference to this object.

◆ UnsetFrustumCullingRespected()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetGranularity()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetInternalLimit()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetLevel()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetProximity()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetRelatedLimit()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetSorting()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetVectorCullingRespected()

SelectionOptionsControl& 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().

Returns
A reference to this object.

◆ UnsetVolumeCullingRespected()

SelectionOptionsControl& 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().

Returns
A reference to this object.

The documentation for this class was generated from the following file: