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
-
void Consume(EllipticalArcKit &in_kit)