HPS::EllipticalArcKey Class Reference

#include <hps.h>

Inheritance diagram for HPS::EllipticalArcKey:
HPS::GeometryKey HPS::Key HPS::Object

Public Member Functions

void Consume (EllipticalArcKit &in_kit)
 
 EllipticalArcKey ()
 
 EllipticalArcKey (Key const &in_that)
 
 EllipticalArcKey (EllipticalArcKey const &in_that)
 
 EllipticalArcKey (EllipticalArcKey &&in_that)
 
HPS::Type ObjectType () const
 
EllipticalArcKeyoperator= (EllipticalArcKey const &other)
 
EllipticalArcKeyoperator= (EllipticalArcKey &&in_that)
 
void Set (EllipticalArcKit const &in_kit)
 
EllipticalArcKeySetCenter (Point const &in_center)
 
EllipticalArcKeySetEnd (float in_end)
 
EllipticalArcKeySetMajor (Point const &in_major)
 
EllipticalArcKeySetMinor (Point const &in_minor)
 
EllipticalArcKeySetStart (float in_start)
 
void Show (EllipticalArcKit &out_kit) const
 
bool ShowCenter (Point &out_center) const
 
bool ShowEnd (float &out_end) const
 
bool ShowMajor (Point &out_major) const
 
bool ShowMinor (Point &out_minor) const
 
bool ShowStart (float &out_start) const
 
- Public Member Functions inherited from HPS::GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
bool ShowBounding (BoundingKit &out_kit) const
 
bool ShowPriority (int &out_priority) const
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
GeometryKeyUnsetAllUserData ()
 
GeometryKeyUnsetPriority ()
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::EllipticalArcKey
 
- Static Public Attributes inherited from HPS::GeometryKey
static const HPS::Type staticType = HPS::Type::GeometryKey
 
- Static Public Attributes inherited from HPS::Key
static const HPS::Type staticType = HPS::Type::Key
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

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

Constructor & Destructor Documentation

◆ EllipticalArcKey() [1/4]

HPS::EllipticalArcKey::EllipticalArcKey ( )

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

◆ EllipticalArcKey() [2/4]

HPS::EllipticalArcKey::EllipticalArcKey ( Key const &  in_that)
explicit

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_keyThe source Key to copy.

◆ EllipticalArcKey() [3/4]

HPS::EllipticalArcKey::EllipticalArcKey ( EllipticalArcKey const &  in_that)

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

Parameters
in_thatThe source EllipticalArcKey to copy.

◆ EllipticalArcKey() [4/4]

HPS::EllipticalArcKey::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_thatAn rvalue reference to an EllipticalArcKey to take the impl from.

Member Function Documentation

◆ Consume()

void HPS::EllipticalArcKey::Consume ( EllipticalArcKit in_kit)

Completely replaces all settings on this EllipticalArcKey with those set on the specified kit and resets the kit.

Parameters
in_kitThe kit from which to get the settings to replace on this EllipticalArcKey.

◆ ObjectType()

HPS::Type HPS::EllipticalArcKey::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::GeometryKey.

◆ operator=() [1/2]

EllipticalArcKey& HPS::EllipticalArcKey::operator= ( EllipticalArcKey const &  other)

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

Parameters
in_thatThe source EllipticalArcKey for the assignment.
Returns
A reference to this EllipticalArcKey.

◆ operator=() [2/2]

EllipticalArcKey& HPS::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_thatAn rvalue reference to an EllipticalArcKey to take the impl from.
Returns
A reference to this EllipticalArcKey.

◆ Set()

void HPS::EllipticalArcKey::Set ( EllipticalArcKit const &  in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this EllipticalArcKey.

◆ SetCenter()

EllipticalArcKey& HPS::EllipticalArcKey::SetCenter ( Point const &  in_center)

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

Parameters
in_centerThe center point for the ellipse used to define the elliptical arc.
Returns
A reference to this EllipticalArcKey.

◆ SetEnd()

EllipticalArcKey& HPS::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_endThe 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.

◆ SetMajor()

EllipticalArcKey& HPS::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_majorThe intersection point of the major axis and the ellipse used to define the elliptical arc.
Returns
A reference to this EllipticalArcKey.

◆ SetMinor()

EllipticalArcKey& HPS::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_minorThe intersection point of the minor axis and the ellipse used to define the elliptical arc.
Returns
A reference to this EllipticalArcKey.

◆ SetStart()

EllipticalArcKey& HPS::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_startThe 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.

◆ Show()

void HPS::EllipticalArcKey::Show ( EllipticalArcKit out_kit) const

Copy the contents of this EllipticalArcKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this EllipticalArcKey.

◆ ShowCenter()

bool HPS::EllipticalArcKey::ShowCenter ( Point out_center) const

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

Parameters
out_centerThe center point for the ellipse used to define the elliptical arc.
Returns
true if a center was set, false otherwise.

◆ ShowEnd()

bool HPS::EllipticalArcKey::ShowEnd ( float &  out_end) const

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

Parameters
out_endThe normalized parametric value on the ellipse at which the elliptical arc ends.
Returns
true if a normalized parametric end value was set, false otherwise.

◆ ShowMajor()

bool HPS::EllipticalArcKey::ShowMajor ( Point out_major) const

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

Parameters
out_majorThe 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.

◆ ShowMinor()

bool HPS::EllipticalArcKey::ShowMinor ( Point out_minor) const

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

Parameters
out_minorThe 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.

◆ ShowStart()

bool HPS::EllipticalArcKey::ShowStart ( float &  out_start) const

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

Parameters
out_startThe normalized parametric value on the ellipse at which the elliptical arc starts.
Returns
true if a normalized parametric start value was set, false otherwise.

The documentation for this class was generated from the following file: