Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::SelectionControl Class Reference

The SelectionControl class is a smart pointer that is tied to a database object. More...

#include <hps.h>

Inheritance diagram for HPS::SelectionControl:
Collaboration diagram for HPS::SelectionControl:

Public Member Functions

 SelectionControl (WindowKey const &in_window)
 This constructor creates a SelectionControl object which is tied to the specified window. More...
 
 SelectionControl (SelectionControl const &in_that)
 The copy constructor creates a SelectionControl object that shares the underlying smart-pointer of the source SelectionControl. More...
 
 SelectionControl (SelectionControl &&in_that)
 The move constructor creates a SelectionControl by transferring the underlying impl of the rvalue reference to this SelectionControl thereby avoiding a copy and allocation. More...
 
SelectionControloperator= (SelectionControl &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this SelectionControl thereby avoiding a copy. More...
 
 ~SelectionControl ()
 
HPS::Type ObjectType () const
 
SelectionControloperator= (SelectionControl const &in_that)
 Share the underlying smart-pointer of the SelectionControl source. More...
 
size_t SelectByPoint (Point const &in_location, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space point selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByPoint (Point const &in_location, SelectionResults &out_results) const
 Perform a window space point selection starting at the specified segment using selection options set in segment tree. More...
 
size_t SelectByArea (Rectangle const &in_area, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space area selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByArea (Rectangle const &in_area, SelectionResults &out_results) const
 Perform a window space area selection starting at the specified segment using selection options set in the segment tree. More...
 
size_t SelectByPolygon (PointArray const &in_points, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space polygon selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByPolygon (PointArray const &in_points, SelectionResults &out_results) const
 Perform a window space polygon selection starting at the specified segment using selection options set in the segment tree. More...
 
size_t SelectByPolygon (size_t in_point_count, Point const in_points [], SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space polygon selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByPolygon (size_t in_point_count, Point const in_points [], SelectionResults &out_results) const
 Perform a window space polygon selection starting at the specified segment using selection options set in the segment tree. More...
 
size_t SelectByLine (PointArray const &in_points, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space line selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByLine (PointArray const &in_points, SelectionResults &out_results) const
 Perform a window space line selection starting at the specified segment using the selection options set in the segment tree. More...
 
size_t SelectByLine (size_t in_point_count, Point const in_points [], SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 Perform a window space line selection starting at the specified segment using the specified selection options. More...
 
size_t SelectByLine (size_t in_point_count, Point const in_points [], SelectionResults &out_results) const
 Perform a window space line selection with the specified line and start segment using the selection options set in the segment tree. More...
 
size_t SelectByShell (ShellKit const &in_shell, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 Performs an object space selection by shell starting at the specified segment using the specified selection options. More...
 
size_t SelectByShell (ShellKit const &in_shell, SelectionResults &out_results)
 Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree. More...
 
size_t SelectByShell (ShellKey const &in_shell, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 Performs an object space selection by shell starting at the specified segment using the specified selection options. More...
 
size_t SelectByShell (ShellKey const &in_shell, SelectionResults &out_results)
 Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree. More...
 
size_t SelectByVolume (SimpleCuboid const &in_volume, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 Performs an object space selection by volume starting at the specified segment using the specified selection options. More...
 
size_t SelectByVolume (SimpleCuboid const &in_volume, SelectionResults &out_results)
 Performs an object space selection by volume starting at the specified segment using the selection options set in the segment tree. More...
 
size_t SelectByRay (Point const &in_start_point, Vector const &in_direction, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 Performs an object space selection by ray starting at the specified segment using the specified selection options. More...
 
size_t SelectByRay (Point const &in_start_point, Vector const &in_direction, SelectionResults &out_results)
 Performs an object space selection by ray starting at the specified segment using the selection options set in the segment tree. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. 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::SelectionControl
 

Private Member Functions

 SelectionControl ()
 Private default constructor to prevent instantiation without a window. More...
 

Detailed Description

The SelectionControl class is a smart pointer that is tied to a database object.

It is used to perform both window space selections (by point, by area, by polygon, by line) and object space selections (by shell, by volume, by ray).

Constructor & Destructor Documentation

◆ SelectionControl() [1/4]

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

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

Parameters
in_windowThe window which this SelectionControl should operate on.

◆ SelectionControl() [2/4]

HPS::SelectionControl::SelectionControl ( SelectionControl const &  in_that)

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

Parameters
in_thatThe source SelectionControl to copy.

◆ SelectionControl() [3/4]

HPS::SelectionControl::SelectionControl ( SelectionControl &&  in_that)

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

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

◆ ~SelectionControl()

HPS::SelectionControl::~SelectionControl ( )

◆ SelectionControl() [4/4]

HPS::SelectionControl::SelectionControl ( )
private

Private default constructor to prevent instantiation without a window.

Member Function Documentation

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
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.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

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

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.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
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.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

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

Reimplemented from HPS::Control.

◆ operator=() [1/2]

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

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

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

◆ operator=() [2/2]

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

Share the underlying smart-pointer of the SelectionControl source.

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

◆ Reset()

◆ SelectByArea() [1/2]

size_t HPS::SelectionControl::SelectByArea ( Rectangle const &  in_area,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space area selection starting at the specified segment using the specified selection options.

Parameters
in_areaRectangle in window space at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByArea() [2/2]

size_t HPS::SelectionControl::SelectByArea ( Rectangle const &  in_area,
SelectionResults out_results 
) const

Perform a window space area selection starting at the specified segment using selection options set in the segment tree.

Parameters
in_areaRectangle in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByLine() [1/4]

size_t HPS::SelectionControl::SelectByLine ( PointArray const &  in_points,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space line selection starting at the specified segment using the specified selection options.

Parameters
in_pointsLine in window space at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByLine() [2/4]

size_t HPS::SelectionControl::SelectByLine ( PointArray const &  in_points,
SelectionResults out_results 
) const

Perform a window space line selection starting at the specified segment using the selection options set in the segment tree.

Parameters
in_pointsLine in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByLine() [3/4]

size_t HPS::SelectionControl::SelectByLine ( size_t  in_point_count,
Point const  in_points[],
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space line selection starting at the specified segment using the specified selection options.

Parameters
in_point_countSize of the following array.
in_pointsLine in window space at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByLine() [4/4]

size_t HPS::SelectionControl::SelectByLine ( size_t  in_point_count,
Point const  in_points[],
SelectionResults out_results 
) const

Perform a window space line selection with the specified line and start segment using the selection options set in the segment tree.

Parameters
in_point_countSize of the following array.
in_pointsLine in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPoint() [1/2]

size_t HPS::SelectionControl::SelectByPoint ( Point const &  in_location,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space point selection starting at the specified segment using the specified selection options.

Parameters
in_locationPoint in window space at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPoint() [2/2]

size_t HPS::SelectionControl::SelectByPoint ( Point const &  in_location,
SelectionResults out_results 
) const

Perform a window space point selection starting at the specified segment using selection options set in segment tree.

Parameters
in_locationPoint in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPolygon() [1/4]

size_t HPS::SelectionControl::SelectByPolygon ( PointArray const &  in_points,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space polygon selection starting at the specified segment using the specified selection options.

Parameters
in_pointsPolygon in window space at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPolygon() [2/4]

size_t HPS::SelectionControl::SelectByPolygon ( PointArray const &  in_points,
SelectionResults out_results 
) const

Perform a window space polygon selection starting at the specified segment using selection options set in the segment tree.

Parameters
in_pointsPolygon in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPolygon() [3/4]

size_t HPS::SelectionControl::SelectByPolygon ( size_t  in_point_count,
Point const  in_points[],
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
) const

Perform a window space polygon selection starting at the specified segment using the specified selection options.

Parameters
in_point_countSize of the following array.
in_pointsPolygon in window space for the polygon at which to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByPolygon() [4/4]

size_t HPS::SelectionControl::SelectByPolygon ( size_t  in_point_count,
Point const  in_points[],
SelectionResults out_results 
) const

Perform a window space polygon selection starting at the specified segment using selection options set in the segment tree.

Parameters
in_point_countSize of the following array.
in_pointsPolygon in window space at which to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByRay() [1/2]

size_t HPS::SelectionControl::SelectByRay ( Point const &  in_start_point,
Vector const &  in_direction,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
)

Performs an object space selection by ray starting at the specified segment using the specified selection options.

This method can only select faceted geometry.

Parameters
in_start_pointStart point of ray.
in_directionDirection vector for ray.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByRay() [2/2]

size_t HPS::SelectionControl::SelectByRay ( Point const &  in_start_point,
Vector const &  in_direction,
SelectionResults out_results 
)

Performs an object space selection by ray starting at the specified segment using the selection options set in the segment tree.

This method can only select faceted geometry.

Parameters
in_start_pointStart point of ray.
in_directionDirection vector for ray.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByShell() [1/4]

size_t HPS::SelectionControl::SelectByShell ( ShellKit const &  in_shell,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
)

Performs an object space selection by shell starting at the specified segment using the specified selection options.

This method can only select faceted geometry.

Parameters
in_shellShell to use to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByShell() [2/4]

size_t HPS::SelectionControl::SelectByShell ( ShellKit const &  in_shell,
SelectionResults out_results 
)

Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree.

This method can only select faceted geometry.

Parameters
in_shellShell to use to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByShell() [3/4]

size_t HPS::SelectionControl::SelectByShell ( ShellKey const &  in_shell,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
)

Performs an object space selection by shell starting at the specified segment using the specified selection options.

This method can only select faceted geometry.

Parameters
in_shellShell in the database to use to perform the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByShell() [4/4]

size_t HPS::SelectionControl::SelectByShell ( ShellKey const &  in_shell,
SelectionResults out_results 
)

Performs an object space selection by shell starting at the specified segment using the selection options set in the segment tree.

This method can only select faceted geometry.

Parameters
in_shellShell in the database to use to perform the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByVolume() [1/2]

size_t HPS::SelectionControl::SelectByVolume ( SimpleCuboid const &  in_volume,
SelectionOptionsKit const &  in_options,
SelectionResults out_results 
)

Performs an object space selection by volume starting at the specified segment using the specified selection options.

If the volume is invalid, i.e., min > max for any component, an exception will be thrown.

Parameters
in_volumeVolume to use when performing the selection.
in_optionsSelection options to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ SelectByVolume() [2/2]

size_t HPS::SelectionControl::SelectByVolume ( SimpleCuboid const &  in_volume,
SelectionResults out_results 
)

Performs an object space selection by volume starting at the specified segment using the selection options set in the segment tree.

If the volume is invalid, i.e., min > max for any component, an exception will be thrown.

Parameters
in_volumeVolume to use when performing the selection.
out_resultsResults of the selection.
Returns
Number of selected items.

◆ Type()

Member Data Documentation

◆ staticType

const HPS::Type HPS::SelectionControl::staticType = HPS::Type::SelectionControl
static

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