HPS::SelectionControl Class Reference

#include <hps.h>

Inheritance diagram for HPS::SelectionControl:
HPS::Control HPS::Object

Public Member Functions

HPS::Type ObjectType () const
 
SelectionControloperator= (SelectionControl &&in_that)
 
SelectionControloperator= (SelectionControl const &in_that)
 
size_t SelectByArea (Rectangle const &in_area, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByArea (Rectangle const &in_area, SelectionResults &out_results) const
 
size_t SelectByLine (PointArray const &in_points, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByLine (PointArray const &in_points, SelectionResults &out_results) const
 
size_t SelectByLine (size_t in_point_count, Point const in_points [], SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByLine (size_t in_point_count, Point const in_points [], SelectionResults &out_results) const
 
size_t SelectByPoint (Point const &in_location, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByPoint (Point const &in_location, SelectionResults &out_results) const
 
size_t SelectByPolygon (PointArray const &in_points, SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByPolygon (PointArray const &in_points, SelectionResults &out_results) const
 
size_t SelectByPolygon (size_t in_point_count, Point const in_points [], SelectionOptionsKit const &in_options, SelectionResults &out_results) const
 
size_t SelectByPolygon (size_t in_point_count, Point const in_points [], SelectionResults &out_results) const
 
size_t SelectByRay (Point const &in_start_point, Vector const &in_direction, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 
size_t SelectByRay (Point const &in_start_point, Vector const &in_direction, SelectionResults &out_results)
 
size_t SelectByShell (ShellKit const &in_shell, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 
size_t SelectByShell (ShellKit const &in_shell, SelectionResults &out_results)
 
size_t SelectByShell (ShellKey const &in_shell, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 
size_t SelectByShell (ShellKey const &in_shell, SelectionResults &out_results)
 
size_t SelectByVolume (SimpleCuboid const &in_volume, SelectionOptionsKit const &in_options, SelectionResults &out_results)
 
size_t SelectByVolume (SimpleCuboid const &in_volume, SelectionResults &out_results)
 
 SelectionControl (WindowKey const &in_window)
 
 SelectionControl (SelectionControl const &in_that)
 
 SelectionControl (SelectionControl &&in_that)
 
- Public Member Functions inherited from HPS::Control
virtual HPS::Type Type () const
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 

Static Public Attributes

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

Additional Inherited Members

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

Detailed Description

The 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/3]

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/3]

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/3]

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.

Member Function Documentation

◆ ObjectType()

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

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

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

Reimplemented from HPS::Control.

◆ operator=() [1/2]

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.

◆ 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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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. Items outside of the frustum can be selected through this method when using Analytic selection.

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.

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