InfiniteLineKey
-
class HPS::InfiniteLineKey : public HPS::GeometryKey
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.
Public Functions
-
void Consume(InfiniteLineKit &in_kit)
Completely replaces all settings on this InfiniteLineKey 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 InfiniteLineKey.
-
InfiniteLineKey()
The default constructor creates an uninitialized InfiniteLineKey object. The Type() function will return Type::None.
-
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.
- Parameters
in_that – An rvalue reference to a InfiniteLineKey to take the impl from.
-
InfiniteLineKey(InfiniteLineKey const &in_that)
The copy constructor creates an InfiniteLineKey object that shares the underlying smart-pointer of the source InfiniteLineKey.
- Parameters
in_that – The source InfiniteLineKey to copy.
-
explicit InfiniteLineKey(Key const &in_that)
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.
- Parameters
in_that – 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.
-
InfiniteLineKey &operator=(InfiniteLineKey &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this InfiniteLineKey thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to an InfiniteLineKey to take the impl from.
- Returns
A reference to this InfiniteLineKey.
-
InfiniteLineKey &operator=(InfiniteLineKey const &in_that)
Associate this InfiniteLineKey with the same underlying impl as the source InfiniteLineKey.
- Parameters
in_that – The source InfiniteLineKey for the assignment.
- Returns
A reference to this InfiniteLineKey.
-
void Set(InfiniteLineKit const &in_kit)
Replace those settings on this InfiniteLineKey with those set on the specified kit.
- Parameters
in_kit – The kit from which to get the settings to replace on this InfiniteLineKey.
-
InfiniteLineKey &SetFirst(Point const &in_first)
Sets the first point for this InfiniteLineKey.
- Parameters
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.
- Returns
A reference to this InfiniteLineKey.
-
InfiniteLineKey &SetSecond(Point const &in_second)
Sets the second point for this InfiniteLineKey.
- Parameters
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.
- Returns
A reference to this InfiniteLineKey.
-
InfiniteLineKey &SetType(InfiniteLine::Type in_type)
Sets the type of this InfiniteLineKey.
- Parameters
in_type – The type of this InfiniteLineKey.
- Returns
A reference to this InfiniteLineKey.
-
void Show(InfiniteLineKit &out_kit) const
Copy the contents of this InfiniteLineKey into the specified kit.
- Parameters
out_kit – The kit to populate with the contents of this InfiniteLineKey.
-
bool ShowFirst(Point &out_first) const
Shows the first point for this InfiniteLineKey.
- Parameters
out_first – The first point for this InfiniteLineKey.
- Returns
true if a first point was set, false otherwise.
-
bool ShowSecond(Point &out_second) const
Shows the second point for this InfiniteLineKey.
- Parameters
out_second – The second point for this InfiniteLineKey.
- Returns
true if a second point was set, false otherwise.
-
bool ShowType(InfiniteLine::Type &out_type) const
Shows the type of this InfiniteLineKey.
- Parameters
out_type – The type of this InfiniteLineKey.
- Returns
true if a type was set, false otherwise.
-
~InfiniteLineKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::InfiniteLineKey
-
void Consume(InfiniteLineKit &in_kit)