CircleKey

class HPS::CircleKey : public HPS::GeometryKey

The CircleKey class is a smart pointer to a database object. It is a handle to a circle inserted via SegmentKey::InsertCircle. A circle has face geometry contained within its circumference. The visualization of the circle will be determined by attribute settings affecting faces and edges.

Public Functions

CircleKey()

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

CircleKey(CircleKey &&in_that)

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

Parameters

in_that – An rvalue reference to a CircleKey to take the impl from.

CircleKey(CircleKey const &in_that)

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

Parameters

in_that – The source CircleKey to copy.

explicit CircleKey(Key const &in_that)

This constructor creates a CircleKey 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 Circle key. Otherwise the copy will fail and the resulting CircleKey will be invalid.

Parameters

in_key – The source Key to copy.

void Consume(CircleKit &in_kit)

Completely replaces all settings on this CircleKey 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 CircleKey.

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.

CircleKey &operator=(CircleKey &&in_that)

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

Parameters

in_that – An rvalue reference to a CircleKey to take the impl from.

Returns

A reference to this CircleKey.

CircleKey &operator=(CircleKey const &in_that)

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

Parameters

in_that – The source CircleKey for the assignment.

Returns

A reference to this CircleKey.

void Set(CircleKit const &in_kit)

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

Parameters

in_kit – The kit from which to get the settings to replace on this CircleKey.

CircleKey &SetCenter(Point const &in_center)

Sets the center point for this CircleKey.

Parameters

in_center – The center point for this CircleKey.

Returns

A reference to this CircleKey.

CircleKey &SetNormal(Vector const &in_normal)

Sets the normal for this CircleKey. This is the normal for the plane in which the circle lies.

Parameters

in_normal – The normal for this CircleKey.

Returns

A reference to this CircleKey.

CircleKey &SetRadius(float in_radius)

Sets the radius for this CircleKey.

Parameters

in_radius – The radius for this CircleKey.

Returns

A reference to this CircleKey.

void Show(CircleKit &out_kit) const

Copy the contents of this CircleKey into the specified kit.

Parameters

out_kit – The kit to populate with the contents of this CircleKey.

bool ShowCenter(Point &out_center) const

Shows the center point for this CircleKey.

Parameters

out_center – The center point for this CircleKey.

Returns

true if a center point was set, false otherwise.

bool ShowNormal(Vector &out_normal) const

Shows the normal for this CircleKey.

Parameters

out_normal – The normal for this CircleKey.

Returns

true if a normal was set, false otherwise.

bool ShowRadius(float &out_radius) const

Shows the radius for this CircleKey.

Parameters

out_radius – The radius for this CircleKey.

Returns

true if a radius was set, false otherwise.

~CircleKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::CircleKey