BoundingControl

class BoundingControl : public HPS::Control

The HPS::BoundingControl class is a smart pointer that is tied to a database object. This object allows you to manipulate settings related to bounding, such as volume and exclusion. This table lists default values for the various segment attributes accessible from HPS::BoundingControl.

Public Functions

BoundingControl(BoundingControl &&in_that)

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

Parameters:in_that – An rvalue reference to a BoundingControl to take the impl from.
BoundingControl(BoundingControl const &in_that)

Initializes a control tied to the same object as in_that.

explicit BoundingControl(SegmentKey &in_seg)

Initializes a control tied to the segment in_seg.

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.
BoundingControl &operator=(BoundingControl &&in_that)

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

Parameters:in_that – An rvalue reference to a BoundingControl to take the impl from.
Returns:A reference to this BoundingControl.
BoundingControl &operator=(BoundingControl const &in_that)

Share the underlying smart-pointer of the BoundingControl source.

Parameters:in_that – The BoundingControl source of the assignment.
Returns:A reference to this BoundingControl.
BoundingControl &SetExclusion(bool in_exclusion)

Controls whether this segment should be excluded when computing bounding volumes.

Parameters:in_exclude – Whether to exclude this segment when computing bounding volumes.
Returns:A reference to this object.
BoundingControl &SetVolume(SimpleCuboid const &in_cuboid)

Explicitly sets the local bounding.

Parameters:in_cuboid – The SimpleCuboid to set the bounding volume to.
Returns:A reference to this object.
BoundingControl &SetVolume(SimpleSphere const &in_sphere)

Explicitly sets the local bounding.

Parameters:in_sphere – The SimpleSphere to set the bounding volume to.
Returns:A reference to this object.
BoundingControl &SetVolume(SimpleSphere const &in_sphere, SimpleCuboid const &in_cuboid)

Explicitly sets the local bounding.

Parameters:
  • in_sphere – The SimpleSphere to set the bounding volume to.
  • in_cuboid – The SimpleCuboid to set the bounding volume to.
Returns:

A reference to this object.

bool ShowExclusion(bool &out_exclusion) const

Shows the bounding exclusion setting.

Parameters:out_exclusion – Whether to exclude this segment when computing bounding volumes.
Returns:true if the setting is valid, false otherwise.
bool ShowVolume(SimpleSphere &out_sphere, SimpleCuboid &out_cuboid) const

Shows the bounding volume.

Parameters:
  • out_sphere – A sphere to show the volume into. If the bounding is not a sphere, this argument will be invalidated.
  • out_cuboid – A cuboid to show the volume into. If the bounding is not a cuboid, this argument will be invalidated.
Returns:

true if the setting is valid, false otherwise.

BoundingControl &UnsetEverything()

Removes all bounding settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by BoundingKit::GetDefault().

Returns:A reference to this object.
BoundingControl &UnsetExclusion()

Removes a bounding exclusion setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by BoundingKit::GetDefault().

Returns:A reference to this object.
BoundingControl &UnsetVolume()

Removes an explicitly set bounding, reverting to the automatically generated one. If the control is attached to a WindowKey this function restores the default value of this setting as specified by BoundingKit::GetDefault().

Returns:A reference to this object.
~BoundingControl()

Releases a reference to the database object this control is tied to.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::BoundingControl