CircleKey

class 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