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