#include <hps.h>
Public Member Functions | |
void | Consume (InfiniteLineKit &in_kit) |
InfiniteLineKey () | |
InfiniteLineKey (Key const &in_that) | |
InfiniteLineKey (InfiniteLineKey const &in_that) | |
InfiniteLineKey (InfiniteLineKey &&in_that) | |
HPS::Type | ObjectType () const |
InfiniteLineKey & | operator= (InfiniteLineKey const &in_that) |
InfiniteLineKey & | operator= (InfiniteLineKey &&in_that) |
void | Set (InfiniteLineKit const &in_kit) |
InfiniteLineKey & | SetFirst (Point const &in_first) |
InfiniteLineKey & | SetSecond (Point const &in_second) |
InfiniteLineKey & | SetType (InfiniteLine::Type in_type) |
void | Show (InfiniteLineKit &out_kit) const |
bool | ShowFirst (Point &out_first) const |
bool | ShowSecond (Point &out_second) const |
bool | ShowType (InfiniteLine::Type &out_type) const |
![]() | |
GeometryKey () | |
GeometryKey (Key const &in_that) | |
GeometryKey (GeometryKey const &in_that) | |
GeometryKey (GeometryKey &&in_that) | |
GeometryKey & | operator= (GeometryKey const &in_that) |
GeometryKey & | operator= (GeometryKey &&in_that) |
GeometryKey & | SetPriority (int in_priority) |
GeometryKey & | SetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[]) |
GeometryKey & | SetUserData (intptr_t in_index, ByteArray const &in_data) |
GeometryKey & | SetUserData (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 |
GeometryKey & | UnsetAllUserData () |
GeometryKey & | UnsetPriority () |
GeometryKey & | UnsetUserData (intptr_t in_index) |
GeometryKey & | UnsetUserData (size_t in_count, intptr_t const in_indices[]) |
GeometryKey & | UnsetUserData (IntPtrTArray const &in_indices) |
![]() | |
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 |
Key & | operator= (Key &&in_that) |
Key & | operator= (Key const &in_that) |
bool | operator== (Key const &in_that) const |
SegmentKey | Owner () const |
SegmentKey | Up () const |
virtual | ~Key () |
![]() | |
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) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
The InfiniteLineKey class is a smart pointer to a database object. It is a handle to an infinite line or ray inserted via SegmentKey::InsertInfiniteLine.
HPS::InfiniteLineKey::InfiniteLineKey | ( | ) |
The default constructor creates an uninitialized InfiniteLineKey object. The Type() function will return Type::None.
|
explicit |
This constructor creates an InfiniteLineKey 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 InfiniteLine key. Otherwise the copy will fail and the resulting InfiniteLineKey will be invalid.
in_that | The source Key to copy. |
HPS::InfiniteLineKey::InfiniteLineKey | ( | InfiniteLineKey const & | in_that | ) |
The copy constructor creates an InfiniteLineKey object that shares the underlying smart-pointer of the source InfiniteLineKey.
in_that | The source InfiniteLineKey to copy. |
HPS::InfiniteLineKey::InfiniteLineKey | ( | InfiniteLineKey && | in_that | ) |
The move constructor creates an InfiniteLineKey by transferring the underlying impl of the rvalue reference to this InfiniteLineKey thereby avoiding a copy and allocation.
in_that | An rvalue reference to a InfiniteLineKey to take the impl from. |
void HPS::InfiniteLineKey::Consume | ( | InfiniteLineKit & | in_kit | ) |
Completely replaces all settings on this InfiniteLineKey with those set on the specified kit and resets the kit.
in_kit | The kit from which to get the settings to replace on this InfiniteLineKey. |
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
Reimplemented from HPS::GeometryKey.
InfiniteLineKey& HPS::InfiniteLineKey::operator= | ( | InfiniteLineKey const & | in_that | ) |
Associate this InfiniteLineKey with the same underlying impl as the source InfiniteLineKey.
in_that | The source InfiniteLineKey for the assignment. |
InfiniteLineKey& HPS::InfiniteLineKey::operator= | ( | InfiniteLineKey && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this InfiniteLineKey thereby avoiding a copy.
in_that | An rvalue reference to an InfiniteLineKey to take the impl from. |
void HPS::InfiniteLineKey::Set | ( | InfiniteLineKit const & | in_kit | ) |
Replace those settings on this InfiniteLineKey with those set on the specified kit.
in_kit | The kit from which to get the settings to replace on this InfiniteLineKey. |
InfiniteLineKey& HPS::InfiniteLineKey::SetFirst | ( | Point const & | in_first | ) |
Sets the first point for this InfiniteLineKey.
in_first | The first point for this InfiniteLineKey. If the type is InfiniteLine::Type::Ray, this will be the point at which the ray starts. |
InfiniteLineKey& HPS::InfiniteLineKey::SetSecond | ( | Point const & | in_second | ) |
Sets the second point for this InfiniteLineKey.
in_second | The second point for this InfiniteLineKey. If the type is InfiniteLine::Type::Ray, this will be the point through which the ray passes. |
InfiniteLineKey& HPS::InfiniteLineKey::SetType | ( | InfiniteLine::Type | in_type | ) |
Sets the type of this InfiniteLineKey.
in_type | The type of this InfiniteLineKey. |
void HPS::InfiniteLineKey::Show | ( | InfiniteLineKit & | out_kit | ) | const |
Copy the contents of this InfiniteLineKey into the specified kit.
out_kit | The kit to populate with the contents of this InfiniteLineKey. |
bool HPS::InfiniteLineKey::ShowFirst | ( | Point & | out_first | ) | const |
Shows the first point for this InfiniteLineKey.
out_first | The first point for this InfiniteLineKey. |
bool HPS::InfiniteLineKey::ShowSecond | ( | Point & | out_second | ) | const |
Shows the second point for this InfiniteLineKey.
out_second | The second point for this InfiniteLineKey. |
bool HPS::InfiniteLineKey::ShowType | ( | InfiniteLine::Type & | out_type | ) | const |
Shows the type of this InfiniteLineKey.
out_type | The type of this InfiniteLineKey. |