#include <hps.h>
Public Member Functions | |
SelectionOptionsControl (WindowKey const &in_window) | |
This constructor creates a SelectionOptionsControl object which is tied to the specified window. More... | |
SelectionOptionsControl (SelectionOptionsControl const &in_that) | |
The copy constructor creates a SelectionOptionsControl object that shares the underlying smart-pointer of the source SelectionOptionsControl. More... | |
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. More... | |
SelectionOptionsControl & | operator= (SelectionOptionsControl &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this SelectionOptionsControl thereby avoiding a copy. More... | |
~SelectionOptionsControl () | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. More... | |
HPS::Type | ObjectType () const |
SelectionOptionsControl & | operator= (SelectionOptionsControl const &in_that) |
Share the underlying smart-pointer of the SelectionOptionsControl source. More... | |
SelectionOptionsControl & | SetProximity (float in_proximity) |
Sets the selection proximity in centimeters or object-relative-units (ORU), depending on the selection-routine being utilized. More... | |
SelectionOptionsControl & | SetLevel (Selection::Level in_level) |
Sets the level at which selection will occur. More... | |
SelectionOptionsControl & | SetInternalLimit (size_t in_limit) |
Sets the internal selection limit. More... | |
SelectionOptionsControl & | SetRelatedLimit (size_t in_limit) |
Sets the related selection limit. More... | |
SelectionOptionsControl & | SetSorting (bool in_sorting) |
Sets whether to sort selection results. More... | |
SelectionOptionsControl & | SetSorting (Selection::Sorting in_sorting) |
Sets how selection results will be sorted. More... | |
SelectionOptionsControl & | SetAlgorithm (Selection::Algorithm in_algorithm) |
Sets the type of selection algorithm to use. More... | |
SelectionOptionsControl & | SetGranularity (Selection::Granularity in_granularity) |
Sets the selection granularity to use. More... | |
SelectionOptionsControl & | SetExtentCullingRespected (bool in_state) |
Sets whether to respect the extent culling option during selection. More... | |
SelectionOptionsControl & | SetDeferralExtentCullingRespected (bool in_state) |
Sets whether to respect the deferral extent culling option during selection. More... | |
SelectionOptionsControl & | SetFrustumCullingRespected (bool in_state) |
Sets whether to respect the frustum culling option during selection. More... | |
SelectionOptionsControl & | SetVectorCullingRespected (bool in_state) |
Sets whether to respect the vector culling option during selection. More... | |
SelectionOptionsControl & | UnsetProximity () |
Removes the Proximity setting from this control. More... | |
SelectionOptionsControl & | UnsetLevel () |
Removes the Selection Level setting from this control. More... | |
SelectionOptionsControl & | UnsetInternalLimit () |
Removes the Internal Limit setting from this control. More... | |
SelectionOptionsControl & | UnsetRelatedLimit () |
Removes the Related Limit setting from this control. More... | |
SelectionOptionsControl & | UnsetSorting () |
Removes the Sorting setting from this control. More... | |
SelectionOptionsControl & | UnsetAlgorithm () |
Removes the Algorithm setting from this control. More... | |
SelectionOptionsControl & | UnsetGranularity () |
Removes the Granularity setting from this control. More... | |
SelectionOptionsControl & | UnsetExtentCullingRespected () |
Removes the Extent Culling setting from this control. More... | |
SelectionOptionsControl & | UnsetDeferralExtentCullingRespected () |
Removes the Deferral Culling setting from this control. More... | |
SelectionOptionsControl & | UnsetFrustumCullingRespected () |
Removes the Frustum Culling setting from this control. More... | |
SelectionOptionsControl & | UnsetVectorCullingRespected () |
Removes the Vector Culling setting from this control. More... | |
SelectionOptionsControl & | UnsetEverything () |
Removes all settings from this control. More... | |
bool | ShowProximity (float &out_proximity) const |
Shows the selection proximity for the associated window. More... | |
bool | ShowLevel (Selection::Level &out_level) const |
Shows the selection level for the associated window. More... | |
bool | ShowInternalLimit (size_t &out_limit) const |
Shows the internal selection limit for the associated window. More... | |
bool | ShowRelatedLimit (size_t &out_limit) const |
Shows the related selection limit for the associated window. More... | |
bool | ShowSorting (Selection::Sorting &out_sorting) const |
Shows the type of selection sorting for the associated window. More... | |
bool | ShowAlgorithm (Selection::Algorithm &out_algorithm) const |
Shows the selection algorithm for the associated window. More... | |
bool | ShowGranularity (Selection::Granularity &out_granularity) const |
Shows the selection granularity for the associated window. More... | |
bool | ShowExtentCullingRespected (bool &out_state) const |
Shows the extent culling respected state for the associated window. More... | |
bool | ShowDeferralExtentCullingRespected (bool &out_state) const |
Shows the deferral extent culling respected state for the associated window. More... | |
bool | ShowFrustumCullingRespected (bool &out_state) const |
Shows the frustum culling respected state for the associated window. More... | |
bool | ShowVectorCullingRespected (bool &out_state) const |
Shows the vector culling respected state for the associated window. More... | |
virtual bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
bool | HasType (HPS::Type in_mask) const |
This function indicates whether this Object has the given Type mask. More... | |
intptr_t | GetClassID () const |
Returns a unique identifier that is shared by all objects of the same class. More... | |
intptr_t | GetInstanceID () const |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
Static Public Member Functions | |
template<typename T > | |
static intptr_t | ClassID () |
Unique identifier for this class. More... | |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::SelectionOptionsControl |
Private Member Functions | |
SelectionOptionsControl () | |
Private default constructor to prevent instantiation without a window. More... | |
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.
|
explicit |
This constructor creates a SelectionOptionsControl object which is tied to the specified window.
in_window | The window which this SelectionOptionsControl should operate on. |
HPS::SelectionOptionsControl::SelectionOptionsControl | ( | SelectionOptionsControl const & | in_that | ) |
The copy constructor creates a SelectionOptionsControl object that shares the underlying smart-pointer of the source SelectionOptionsControl.
in_that | The source SelectionOptionsControl to copy. |
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.
in_that | An rvalue reference to a SelectionOptionsControl to take the impl from. |
HPS::SelectionOptionsControl::~SelectionOptionsControl | ( | ) |
|
private |
Private default constructor to prevent instantiation without a window.
|
inlinestaticinherited |
Unique identifier for this class.
Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
inherited |
Returns an identifier that can be used to identify which instance of a class an object is.
Different keys and controls will return the same value if they are backed by the same database resource.
|
inherited |
|
inlinevirtual |
Reimplemented from HPS::Control.
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.
in_that | An rvalue reference to a SelectionOptionsControl to take the impl from. |
SelectionOptionsControl& HPS::SelectionOptionsControl::operator= | ( | SelectionOptionsControl const & | in_that | ) |
Share the underlying smart-pointer of the SelectionOptionsControl source.
in_that | The SelectionOptionsControl source of the assignment. |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
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).
in_algorithm | The type of selection algorithm to use. |
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.
in_state | Whether to respect the deferral extent culling option during selection. |
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.
in_state | Whether to respect the extent culling option during selection. |
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.
in_state | Whether to respect the frustum culling option during selection. |
SelectionOptionsControl& HPS::SelectionOptionsControl::SetGranularity | ( | Selection::Granularity | in_granularity | ) |
Sets the selection granularity to use.
in_granularity | The selection granularity to use. |
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.
in_limit | The internal selection limit. |
SelectionOptionsControl& HPS::SelectionOptionsControl::SetLevel | ( | Selection::Level | in_level | ) |
Sets the level at which selection will occur.
in_level | The level at which selection will occur. |
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:
in_proximity | The radius around the selection within which objects will be returned as selected. |
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()).
in_limit | Limit on the number of items that will be returned as selected when performing a selection. |
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.
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). |
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.
in_sorting | The type of selection sorting to use. |
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.
in_state | Whether to respect the vector culling option during selection. |
bool HPS::SelectionOptionsControl::ShowAlgorithm | ( | Selection::Algorithm & | out_algorithm | ) | const |
Shows the selection algorithm for the associated window.
out_algorithm | The selection algorithm for the associated window. |
bool HPS::SelectionOptionsControl::ShowDeferralExtentCullingRespected | ( | bool & | out_state | ) | const |
Shows the deferral extent culling respected state for the associated window.
out_state | The deferral extent culling respected state. |
bool HPS::SelectionOptionsControl::ShowExtentCullingRespected | ( | bool & | out_state | ) | const |
Shows the extent culling respected state for the associated window.
out_state | The extent culling respected state. |
bool HPS::SelectionOptionsControl::ShowFrustumCullingRespected | ( | bool & | out_state | ) | const |
Shows the frustum culling respected state for the associated window.
out_state | The frustum culling respected state. |
bool HPS::SelectionOptionsControl::ShowGranularity | ( | Selection::Granularity & | out_granularity | ) | const |
Shows the selection granularity for the associated window.
out_granularity | The selection granularity for the associated window. |
bool HPS::SelectionOptionsControl::ShowInternalLimit | ( | size_t & | out_limit | ) | const |
Shows the internal selection limit for the associated window.
out_limit | The internal selection limit for the associated window. |
bool HPS::SelectionOptionsControl::ShowLevel | ( | Selection::Level & | out_level | ) | const |
Shows the selection level for the associated window.
out_level | The selection level for the associated window. |
bool HPS::SelectionOptionsControl::ShowProximity | ( | float & | out_proximity | ) | const |
Shows the selection proximity for the associated window.
out_proximity | The selection proximity for the associated window. |
bool HPS::SelectionOptionsControl::ShowRelatedLimit | ( | size_t & | out_limit | ) | const |
Shows the related selection limit for the associated window.
out_limit | The related selection limit for the associated window. |
bool HPS::SelectionOptionsControl::ShowSorting | ( | Selection::Sorting & | out_sorting | ) | const |
Shows the type of selection sorting for the associated window.
out_sorting | The type of selection sorting to use for the associated window. |
bool HPS::SelectionOptionsControl::ShowVectorCullingRespected | ( | bool & | out_state | ) | const |
Shows the vector culling respected state for the associated window.
out_state | The vector culling respected state. |
|
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.
Reimplemented from HPS::Control.
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
|
static |