HPS::SelectionOptionsKit Class Reference

#include <hps.h>

Inheritance diagram for HPS::SelectionOptionsKit:
HPS::Object

Public Member Functions

bool Empty () const
 
bool Equals (SelectionOptionsKit const &in_kit) const
 
HPS::Type ObjectType () const
 
bool operator!= (SelectionOptionsKit const &in_kit) const
 
SelectionOptionsKitoperator= (SelectionOptionsKit &&in_that)
 
SelectionOptionsKitoperator= (SelectionOptionsKit const &in_kit)
 
bool operator== (SelectionOptionsKit const &in_kit) const
 
 SelectionOptionsKit ()
 
 SelectionOptionsKit (SelectionOptionsKit const &in_kit)
 
 SelectionOptionsKit (SelectionOptionsKit &&in_that)
 
void Set (SelectionOptionsKit const &in_kit)
 
SelectionOptionsKitSetAlgorithm (Selection::Algorithm in_algorithm)
 
SelectionOptionsKitSetDeferralExtentCullingRespected (bool in_state)
 
SelectionOptionsKitSetExtentCullingRespected (bool in_state)
 
SelectionOptionsKitSetFrustumCullingRespected (bool in_state)
 
SelectionOptionsKitSetGranularity (Selection::Granularity in_granularity)
 
SelectionOptionsKitSetInternalLimit (size_t in_limit)
 
SelectionOptionsKitSetLevel (Selection::Level in_level)
 
SelectionOptionsKitSetProximity (float in_proximity)
 
SelectionOptionsKitSetRelatedLimit (size_t in_limit)
 
SelectionOptionsKitSetScope (SegmentKey const &in_start_segment)
 
SelectionOptionsKitSetScope (KeyPath const &in_start_path)
 
SelectionOptionsKitSetSelectability (HPS::SelectabilityKit const &in_selectability)
 
SelectionOptionsKitSetSorting (bool in_sorted)
 
SelectionOptionsKitSetTreeContext (TreeContext const &in_tree_context)
 
SelectionOptionsKitSetVectorCullingRespected (bool in_state)
 
void Show (SelectionOptionsKit &out_kit) const
 
bool ShowAlgorithm (Selection::Algorithm &out_algorithm) const
 
bool ShowDeferralExtentCullingRespected (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 ShowScope (KeyPath &out_start_path) const
 
bool ShowSelectability (HPS::SelectabilityKit &out_selectability) const
 
bool ShowSorting (bool &out_sorted) const
 
bool ShowTreeContext (TreeContext &out_tree_context) const
 
bool ShowVectorCullingRespected (bool &out_state) const
 
SelectionOptionsKitUnsetAlgorithm ()
 
SelectionOptionsKitUnsetDeferralExtentCullingRespected ()
 
SelectionOptionsKitUnsetEverything ()
 
SelectionOptionsKitUnsetExtentCullingRespected ()
 
SelectionOptionsKitUnsetFrustumCullingRespected ()
 
SelectionOptionsKitUnsetGranularity ()
 
SelectionOptionsKitUnsetInternalLimit ()
 
SelectionOptionsKitUnsetLevel ()
 
SelectionOptionsKitUnsetProximity ()
 
SelectionOptionsKitUnsetRelatedLimit ()
 
SelectionOptionsKitUnsetScope ()
 
SelectionOptionsKitUnsetSelectability ()
 
SelectionOptionsKitUnsetSorting ()
 
SelectionOptionsKitUnsetTreeContext ()
 
SelectionOptionsKitUnsetVectorCullingRespected ()
 
- Public Member Functions inherited from HPS::Object
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 ()
 
HPS::Type Type () const
 

Static Public Member Functions

static SelectionOptionsKit GetDefault ()
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

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.

Constructor & Destructor Documentation

HPS::SelectionOptionsKit::SelectionOptionsKit ( )

The default constructor creates an empty SelectionOptionsKit object.

HPS::SelectionOptionsKit::SelectionOptionsKit ( SelectionOptionsKit const &  in_kit)

The copy constructor creates a new SelectionOptionsKit object that contains the same settings as the source SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to copy.
HPS::SelectionOptionsKit::SelectionOptionsKit ( SelectionOptionsKit &&  in_that)

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

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

Member Function Documentation

bool HPS::SelectionOptionsKit::Empty ( ) const
virtual

Indicates whether this SelectionOptionsKit has any values set on it.

Returns
true if no values are set on this SelectionOptionsKit, false otherwise.

Reimplemented from HPS::Object.

bool HPS::SelectionOptionsKit::Equals ( SelectionOptionsKit const &  in_kit) const

Check if the source SelectionOptionsKit is equivalent to this SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to compare to this SelectionOptionsKit.
Returns
true if the objects are equivalent, false otherwise.
static SelectionOptionsKit HPS::SelectionOptionsKit::GetDefault ( )
static

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.

Returns
A SelectionOptionsKit with the default settings.
HPS::Type HPS::SelectionOptionsKit::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

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

Reimplemented from HPS::Object.

bool HPS::SelectionOptionsKit::operator!= ( SelectionOptionsKit const &  in_kit) const

Check if the source SelectionOptionsKit is not equivalent to this SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to compare to this SelectionOptionsKit.
Returns
true if the objects are not equivalent, false otherwise.
SelectionOptionsKit& HPS::SelectionOptionsKit::operator= ( SelectionOptionsKit &&  in_that)

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

Parameters
in_thatAn rvalue reference to a SelectionOptionsKit to take the impl from.
Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::operator= ( SelectionOptionsKit const &  in_kit)

Copies the source SelectionOptionsKit into this SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to copy.
Returns
A reference to this SelectionOptionsKit.
bool HPS::SelectionOptionsKit::operator== ( SelectionOptionsKit const &  in_kit) const

Check if the source SelectionOptionsKit is equivalent to this SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to compare to this SelectionOptionsKit.
Returns
true if the objects are equivalent, false otherwise.
void HPS::SelectionOptionsKit::Set ( SelectionOptionsKit const &  in_kit)

Copies the source SelectionOptionsKit into this SelectionOptionsKit.

Parameters
in_kitThe source SelectionOptionsKit to copy.
SelectionOptionsKit& HPS::SelectionOptionsKit::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 SelectionOptionsKit.
See also
Default value
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.

Parameters
in_stateWhether to respect the deferral extent culling option during selection.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
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.

Parameters
in_stateWhether to respect the extent culling option during selection.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
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.

Parameters
in_stateWhether to respect the frustum culling option during selection.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
SelectionOptionsKit& HPS::SelectionOptionsKit::SetGranularity ( Selection::Granularity  in_granularity)

Sets the selection granularity to use.

Parameters
in_granularityThe selection granularity to use.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
SelectionOptionsKit& HPS::SelectionOptionsKit::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 SelectionOptionsKit
See also
Internal limit in Programming Guide
SelectionOptionsKit& HPS::SelectionOptionsKit::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 SelectionOptionsKit.
See also
Default value
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.

If HPS::SelectionControl::SelectByPoint is being used, this specifies the radius in centimeters around the selection within which objects will be returned as selected. The value must be positive.

If HPS::SelectionControl::SelectByShell is being used, 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.

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
SelectionOptionsKit& HPS::SelectionOptionsKit::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 SelectionOptionsKit.
See also
Default value
Related limit in Programming Guide
SelectionOptionsKit& HPS::SelectionOptionsKit::SetScope ( SegmentKey const &  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.

Parameters
in_start_segmentA segment, that must be a child of the window key, in which to begin selection testing.
Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::SetScope ( KeyPath const &  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.

Parameters
in_start_pathA path of segments and includes, leaf to root, from the segment to begin selection testing to the window key.
Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::SetSorting ( bool  in_sorted)

Sets whether to sort selection results by relevance. For selection by area or ray, this means sorting results front to back. For all other types of selection, it means sorting results by proximity. This is only relevant if the related selection limit is greater than 0 (see SetRelatedLimit).

Parameters
in_sortedWhether to sort selection results by relevance.
Returns
A reference to this SelectionOptionsKit.
See also
Default value
SelectionOptionsKit& HPS::SelectionOptionsKit::SetTreeContext ( TreeContext const &  in_tree_context)

Sets a tree context to be used for this selection. If many 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 one is not specified, a new one is computed each time.

Parameters
in_tree_contextThe tree context to use for this relation test.
Returns
A reference to this object.
SelectionOptionsKit& 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.

Parameters
in_stateWhether to respect the vector culling option during selection.
Returns
A reference to this SelectionOptionsKit.
See also
Default value Default value
void HPS::SelectionOptionsKit::Show ( SelectionOptionsKit out_kit) const

Copies this SelectionOptionsKit into the given SelectionOptionsKit.

Parameters
out_kitThe SelectionOptionsKit to populate with the contents of this SelectionOptionsKit.
bool HPS::SelectionOptionsKit::ShowAlgorithm ( Selection::Algorithm out_algorithm) const

Shows the selection algorithm.

Parameters
out_algorithmThe selection algorithm.
Returns
true if the selection algorithm is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowDeferralExtentCullingRespected ( bool &  out_state) const

Shows the deferral extent culling respected state.

Parameters
out_stateThe deferral extent culling respected state.
Returns
true if the deferral extent culling respected state is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowExtentCullingRespected ( bool &  out_state) const

Shows the extent culling respected state.

Parameters
out_stateThe extent culling respected state.
Returns
true if the extent culling respected state is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowFrustumCullingRespected ( bool &  out_state) const

Shows the frustum culling respected state.

Parameters
out_stateThe frustum culling respected state.
Returns
true if the frustum culling respected state is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowGranularity ( Selection::Granularity out_granularity) const

Shows the selection granularity.

Parameters
out_granularityThe selection granularity.
Returns
true if the selection granularity is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowInternalLimit ( size_t &  out_limit) const

Shows the internal selection limit.

Parameters
out_limitThe internal selection limit.
Returns
true if the internal selection limit is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowLevel ( Selection::Level out_level) const

Shows the selection level.

Parameters
out_levelThe selection level.
Returns
true if the level is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowProximity ( float &  out_proximity) const

Shows the selection proximity.

Parameters
out_proximityThe selection proximity.
Returns
true if the proximity is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowRelatedLimit ( size_t &  out_limit) const

Shows the related selection limit.

Parameters
out_limitThe related selection limit.
Returns
true if the related selection limit is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowScope ( KeyPath out_start_path) const

Shows the starting location at which selection testing will begin.

Parameters
out_start_pathA segment or collection of segments and includes organized from leaf to root.
Returns
true if a selection scope was set, false otherwise.
bool HPS::SelectionOptionsKit::ShowSorting ( bool &  out_sorted) const

Shows whether selection sorting is enabled.

Parameters
out_sortedwhether selection sorting is enabled.
Returns
true if the flag is valid, false otherwise.
bool HPS::SelectionOptionsKit::ShowTreeContext ( TreeContext out_tree_context) const

Shows the tree context for this SelectionOptionsKit.

Parameters
out_tree_contextThe tree context to use for this relation test.
Returns
true if a tree context was set, false otherwise.
bool HPS::SelectionOptionsKit::ShowVectorCullingRespected ( bool &  out_state) const

Shows the vector culling respected state.

Parameters
out_stateThe vector culling respected state.
Returns
true if the vector culling respected state is valid, false otherwise.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetAlgorithm ( )

Removes the selection algorithm.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetDeferralExtentCullingRespected ( )

Removes the deferral extent culling respected option.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetEverything ( )

Removes all settings from this SelectionOptionsKit.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetExtentCullingRespected ( )

Removes the extent culling respected option.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetFrustumCullingRespected ( )

Removes the frustum culling respected option.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetGranularity ( )

Removes the selection granularity.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetInternalLimit ( )

Removes the internal selection limit.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetLevel ( )

Removes the selection level.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetProximity ( )

Removes the selection proximity.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetRelatedLimit ( )

Removes the related selection limit.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetScope ( )

Removes the selection scope setting from this SelectionOptionsKit.

Returns
A reference to this object.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetSorting ( )

Removes whether selection sorting is enabled.

Returns
A reference to this SelectionOptionsKit.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetTreeContext ( )

Removes the tree context from this SelectionOptionsKit.

Returns
A reference to this object.
SelectionOptionsKit& HPS::SelectionOptionsKit::UnsetVectorCullingRespected ( )

Removes the vector culling respected option.

Returns
A reference to this SelectionOptionsKit.

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