InfiniteLineKey

class 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