SphereKey

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