SelectionControl
-
class HPS::SelectionControl : public HPS::Control
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).
Public Functions
-
inline virtual HPS::Type ObjectType() const
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.
-
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_that – An rvalue reference to a SelectionControl to take the impl from.
- Returns
A reference to this SelectionControl.
-
SelectionControl &operator=(SelectionControl const &in_that)
Share the underlying smart-pointer of the SelectionControl source.
- Parameters
in_that – The SelectionControl source of the assignment.
- Returns
A reference to this SelectionControl.
-
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.
-
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.
- Parameters
in_area – Rectangle in window space at which to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
in_points – Line in window space at which to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
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.
- Returns
Number of selected items.
-
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.
- Parameters
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.
- Returns
Number of selected items.
-
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.
- Parameters
in_location – Point in window space at which to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
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.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
in_points – Polygon in window space at which to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
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.
- Returns
Number of selected items.
-
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. Items outside of the frustum can be selected through this method when using Analytic selection.
- Parameters
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.
- Returns
Number of selected items.
-
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. This method can only select faceted geometry - not subentities.
- Parameters
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.
- Returns
Number of selected items.
-
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. This method can only select faceted geometry - not subentities.
- Parameters
in_start_point – Start point of ray.
in_direction – Direction vector for ray.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. This method can only select faceted geometry.
-
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. This method can only select faceted geometry.
- Parameters
in_shell – Shell in the database to use to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. This method can only select faceted geometry.
-
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. This method can only select faceted geometry.
- Parameters
in_shell – Shell to use to perform the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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. If the volume is invalid, i.e., min > max for any component, an exception will be thrown.
- Parameters
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.
- Returns
Number of selected items.
-
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. If the volume is invalid, i.e., min > max for any component, an exception will be thrown.
- Parameters
in_volume – Volume to use when performing the selection.
out_results – Results of the selection.
- Returns
Number of selected items.
-
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_that – An rvalue reference to a SelectionControl to take the impl from.
-
SelectionControl(SelectionControl const &in_that)
The copy constructor creates a SelectionControl object that shares the underlying smart-pointer of the source SelectionControl.
- Parameters
in_that – The source SelectionControl to copy.
-
explicit SelectionControl(WindowKey const &in_window)
This constructor creates a SelectionControl object which is tied to the specified window.
- Parameters
in_window – The window which this SelectionControl should operate on.
-
~SelectionControl()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::SelectionControl
-
inline virtual HPS::Type ObjectType() const