BoundingControl

class HPS::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