The SelectionControl class is a smart pointer that is tied to a database object. More...
#include <hps.h>
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... | |
SelectionControl & | operator= (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 |
SelectionControl & | operator= (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... | |
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).
|
explicit |
This constructor creates a SelectionControl object which is tied to the specified window.
in_window | The window which this SelectionControl should operate on. |
HPS::SelectionControl::SelectionControl | ( | SelectionControl const & | in_that | ) |
The copy constructor creates a SelectionControl object that shares the underlying smart-pointer of the source SelectionControl.
in_that | The source SelectionControl to copy. |
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.
in_that | An rvalue reference to a SelectionControl to take the impl from. |
HPS::SelectionControl::~SelectionControl | ( | ) |
|
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.
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.
in_that | An rvalue reference to a SelectionControl to take the impl from. |
SelectionControl& HPS::SelectionControl::operator= | ( | SelectionControl const & | in_that | ) |
Share the underlying smart-pointer of the SelectionControl source.
in_that | The SelectionControl 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.
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.
in_area | Rectangle in window space at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_area | Rectangle in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_points | Line in window space at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_points | Line in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_point_count | Size of the following array. |
in_points | Line in window space at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_point_count | Size of the following array. |
in_points | Line in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_location | Point in window space at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_location | Point in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_points | Polygon in window space at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_points | Polygon in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_point_count | Size of the following array. |
in_points | Polygon in window space for the polygon at which to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_point_count | Size of the following array. |
in_points | Polygon in window space at which to perform the selection. |
out_results | Results of the selection. |
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.
in_start_point | Start point of ray. |
in_direction | Direction vector for ray. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_start_point | Start point of ray. |
in_direction | Direction vector for ray. |
out_results | Results of the selection. |
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.
in_shell | Shell to use to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_shell | Shell to use to perform the selection. |
out_results | Results of the selection. |
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.
in_shell | Shell in the database to use to perform the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_shell | Shell in the database to use to perform the selection. |
out_results | Results of the selection. |
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.
in_volume | Volume to use when performing the selection. |
in_options | Selection options to use when performing the selection. |
out_results | Results of the selection. |
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.
in_volume | Volume to use when performing the selection. |
out_results | Results of the selection. |
|
inlinevirtualinherited |
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::Object.
Reimplemented in HPS::UpdateOptionsControl, HPS::HighlightControl, HPS::SelectionOptionsControl, HPS::OffScreenWindowOptionsControl, HPS::ApplicationWindowOptionsControl, HPS::StandAloneWindowOptionsControl, HPS::AttributeLockControl, HPS::WindowInfoControl, HPS::DebuggingControl, HPS::SubwindowControl, HPS::ContourLineControl, HPS::VisualEffectsControl, HPS::TransformMaskControl, HPS::PostProcessEffectsControl, HPS::DrawingAttributeControl, HPS::HiddenLineAttributeControl, HPS::PerformanceControl, HPS::NURBSSurfaceAttributeControl, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::CurveAttributeControl, HPS::EdgeAttributeControl, HPS::LineAttributeControl, HPS::TextAttributeControl, HPS::CuttingSectionAttributeControl, HPS::CylinderAttributeControl, HPS::LightingAttributeControl, HPS::SphereAttributeControl, HPS::MarkerAttributeControl, HPS::CullingControl, HPS::ColorInterpolationControl, HPS::TransparencyControl, HPS::SelectabilityControl, HPS::CameraControl, HPS::VisibilityControl, and HPS::BoundingControl.
|
static |