SphereKey

class SphereKey : public HPS::GeometryKey

The SphereKey class is a smart pointer to a database object. It is a handle to a sphere inserted via SegmentKey::InsertSphere.

Public Functions

void Consume(SphereKit &in_kit)

Completely replaces all settings on this SphereKey with those set on the specified kit and resets the kit.

Parameters:in_kit – The kit from which to get the settings to replace on this SphereKey.
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.
SphereKey &operator=(SphereKey &&in_that)

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

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

Associate this SphereKey with the same underlying impl as the source SphereKey.

Parameters:in_that – The source SphereKey for the assignment.
Returns:A reference to this SphereKey.
void Set(SphereKit const &in_kit)

Replace those settings on this SphereKey with those set on the specified kit.

Parameters:in_kit – The kit from which to get the settings to replace on this SphereKey.
SphereKey &SetBasis(Vector const &in_vertical, Vector const &in_horizontal)

Sets the basis for the SphereKey.

Parameters:
  • in_vertical – The vector to use as the vertical axis for the SphereKey.
  • in_horizontal – The vector to use as the horizontal axis for the SphereKey.
Returns:

A reference to this SphereKey.

SphereKey &SetCenter(Point const &in_center)

Sets the center point for the SphereKey.

Parameters:in_center – The center point for the SphereKey.
Returns:A reference to this SphereKey.
SphereKey &SetRadius(float in_radius)

Sets the radius for the SphereKey.

Parameters:in_radius – The radius for the SphereKey.
Returns:A reference to this SphereKey.
void Show(SphereKit &out_kit) const

Copy the contents of this SphereKey into the specified kit.

Parameters:out_kit – The kit to populate with the contents of this SphereKey.
bool ShowBasis(Vector &out_vertical, Vector &out_horizontal) const

Shows the basis for the SphereKey.

Parameters:
  • out_vertical – The vector to use as the vertical axis for the SphereKey.
  • out_horizontal – The vector to use as the horizontal axis for the SphereKey.
Returns:

true if a basis was set, false otherwise.

bool ShowCenter(Point &out_center) const

Shows the center point for this SphereKey.

Parameters:out_center – The center point for the SphereKey.
Returns:true if a center point was set, false otherwise.
bool ShowRadius(float &out_radius) const

Shows the radius for the SphereKey.

Parameters:out_radius – The radius for the SphereKey.
Returns:true if a radius was set, false otherwise.
SphereKey()

The default constructor creates an uninitialized SphereKey object. The Type() function will return Type::None.

explicit SphereKey(Key const &in_that)

This constructor creates a SphereKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a Sphere key. Otherwise the copy will fail and the resulting SphereKey will be invalid.

Parameters:in_key – The source Key to copy.
SphereKey(SphereKey &&in_that)

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

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

The copy constructor creates a SphereKey object that shares the underlying smart-pointer of the source SphereKey.

Parameters:in_that – The source SphereKey to copy.
~SphereKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::SphereKey