EllipseKey

class HPS::EllipseKey : public HPS::GeometryKey

The EllipseKey class is a smart pointer to a database object. It is a handle to an ellipse inserted via SegmentKey::InsertEllipse.

Public Functions

void Consume(EllipseKit &in_kit)

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

EllipseKey()

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

EllipseKey(EllipseKey &&in_that)

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

Parameters

in_that – An rvalue reference to an EllipseKey to take the impl from.

EllipseKey(EllipseKey const &in_that)

The copy constructor creates an EllipseKey object that shares the underlying smart-pointer of the source EllipseKey.

Parameters

in_that – The source EllipseKey to copy.

explicit EllipseKey(Key const &in_that)

This constructor creates an EllipseKey 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 an Ellipse key. Otherwise the copy will fail and the resulting EllipseKey will be invalid.

Parameters

in_key – The source Key to copy.

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.

EllipseKey &operator=(EllipseKey &&in_that)

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

Parameters

in_that – An rvalue reference to an EllipseKey to take the impl from.

Returns

A reference to this EllipseKey.

EllipseKey &operator=(EllipseKey const &other)

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

Parameters

in_that – The source EllipseKey for the assignment.

Returns

A reference to this EllipseKey.

void Set(EllipseKit const &in_kit)

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

Parameters

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

EllipseKey &SetCenter(Point const &in_center)

Sets the center point for the ellipse.

Parameters

in_center – The center point for the ellipse.

Returns

A reference to this EllipseKey.

EllipseKey &SetMajor(Point const &in_major)

Sets the intersection point of the major axis and the ellipse.

Parameters

in_major – The intersection point of the major axis and the ellipse.

Returns

A reference to this EllipseKey.

EllipseKey &SetMinor(Point const &in_minor)

Sets the intersection point of the minor axis and the ellipse.

Parameters

in_minor – The intersection point of the minor axis and the ellipse.

Returns

A reference to this EllipseKey.

void Show(EllipseKit &out_kit) const

Copy the contents of this EllipseKey into the specified kit.

Parameters

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

bool ShowCenter(Point &out_center) const

Shows the center point for the ellipse.

Parameters

out_center – The center point for the ellipse.

Returns

true if a center was set, false otherwise.

bool ShowMajor(Point &out_major) const

Shows the intersection point of the major axis and the ellipse.

Parameters

out_major – The intersection point of the major axis and the ellipse.

Returns

true if an intersection point with the major axis was set, false otherwise.

bool ShowMinor(Point &out_minor) const

Shows the intersection point of the minor axis and the ellipse.

Parameters

out_minor – The intersection point of the minor axis and the ellipse.

Returns

true if an intersection point with the minor axis was set, false otherwise.

~EllipseKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::EllipseKey