EllipticalArcKey

class HPS::EllipticalArcKey : public HPS::GeometryKey

The EllipticalArcKey class is a smart pointer to a database object. It is a handle to an elliptical arc inserted via SegmentKey::InsertEllipticalArc.

Public Functions

void Consume(EllipticalArcKit &in_kit)

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

EllipticalArcKey()

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

EllipticalArcKey(EllipticalArcKey &&in_that)

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

Parameters

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

EllipticalArcKey(EllipticalArcKey const &in_that)

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

Parameters

in_that – The source EllipticalArcKey to copy.

explicit EllipticalArcKey(Key const &in_that)

This constructor creates an EllipticalArcKey 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 EllipticalArc key. Otherwise the copy will fail and the resulting EllipticalArcKey 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.

EllipticalArcKey &operator=(EllipticalArcKey &&in_that)

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

Parameters

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

Returns

A reference to this EllipticalArcKey.

EllipticalArcKey &operator=(EllipticalArcKey const &other)

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

Parameters

in_that – The source EllipticalArcKey for the assignment.

Returns

A reference to this EllipticalArcKey.

void Set(EllipticalArcKit const &in_kit)

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

Parameters

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

EllipticalArcKey &SetCenter(Point const &in_center)

Sets the center point for the ellipse used to define the elliptical arc.

Parameters

in_center – The center point for the ellipse used to define the elliptical arc.

Returns

A reference to this EllipticalArcKey.

EllipticalArcKey &SetEnd(float in_end)

Sets the normalized parametric value on the ellipse at which the elliptical arc ends. The value should be in the range [0.0f,1.0f] and be larger than the start value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Parameters

in_end – The normalized parametric value on the ellipse at which the elliptical arc ends. This value should be in the range [0.0f,1.0f] and be larger than the start value.

Returns

A reference to this EllipticalArcKey.

EllipticalArcKey &SetMajor(Point const &in_major)

Sets the intersection point of the major axis and the ellipse used to define the elliptical arc.

Parameters

in_major – The intersection point of the major axis and the ellipse used to define the elliptical arc.

Returns

A reference to this EllipticalArcKey.

EllipticalArcKey &SetMinor(Point const &in_minor)

Sets the intersection point of the minor axis and the ellipse used to define the elliptical arc.

Parameters

in_minor – The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Returns

A reference to this EllipticalArcKey.

EllipticalArcKey &SetStart(float in_start)

Sets the normalized parametric value on the ellipse at which the elliptical arc starts. The value should be in the range [0.0f,1.0f] and be smaller than the end value. It is defined such that 0.0f is the point where the major axis intersects the ellipse, and as the value increases it passes through the point at which the minor axis intersects the ellipse (0.25f), and that 1.0f maps to the same point as 0.0f.

Parameters

in_start – The normalized parametric value on the ellipse at which the elliptical arc starts. This value should be in the range [0.0f,1.0f] and be smaller than the end value.

Returns

A reference to this EllipticalArcKey.

void Show(EllipticalArcKit &out_kit) const

Copy the contents of this EllipticalArcKey into the specified kit.

Parameters

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

bool ShowCenter(Point &out_center) const

Shows the center point for the ellipse used to define the elliptical arc.

Parameters

out_center – The center point for the ellipse used to define the elliptical arc.

Returns

true if a center was set, false otherwise.

bool ShowEnd(float &out_end) const

Shows the normalized parametric value on the ellipse at which the elliptical arc ends.

Parameters

out_end – The normalized parametric value on the ellipse at which the elliptical arc ends.

Returns

true if a normalized parametric end value was set, false otherwise.

bool ShowMajor(Point &out_major) const

Shows the intersection point of the major axis and the ellipse used to define the elliptical arc.

Parameters

out_major – The intersection point of the major axis and the ellipse used to define the elliptical arc.

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 used to define the elliptical arc.

Parameters

out_minor – The intersection point of the minor axis and the ellipse used to define the elliptical arc.

Returns

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

bool ShowStart(float &out_start) const

Shows the normalized parametric value on the ellipse at which the elliptical arc starts.

Parameters

out_start – The normalized parametric value on the ellipse at which the elliptical arc starts.

Returns

true if a normalized parametric start value was set, false otherwise.

~EllipticalArcKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::EllipticalArcKey