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