InfiniteLineKit
-
class HPS::InfiniteLineKit : public HPS::Kit
The InfiniteLineKit class is a user space object. It is a kit analog to an InfiniteLineKey.
Public Functions
-
void Consume(InfiniteLineKit &in_kit)
Copies the source InfiniteLineKit into this InfiniteLineKit and resets the source kit.
- Parameters
in_kit – The source InfiniteLineKit to consume.
-
virtual bool Empty() const
Indicates whether this InfiniteLineKit has any values set on it.
- Returns
true if no values are set on this InfiniteLineKit, false otherwise.
-
bool Equals(InfiniteLineKit const &in_kit) const
Check if the source InfiniteLineKit is equivalent to this InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit to compare to this InfiniteLineKit.
- Returns
true if the objects are equivalent, false otherwise.
-
InfiniteLineKit()
The default constructor creates an empty InfiniteLineKit object.
-
InfiniteLineKit(InfiniteLineKit &&in_that)
The move constructor creates an InfiniteLineKit by transferring the underlying impl of the rvalue reference to this InfiniteLineKit thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to an InfiniteLineKit to take the impl from.
-
InfiniteLineKit(InfiniteLineKit const &in_kit)
The copy constructor creates a new InfiniteLineKit object that contains the same settings as the source InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit 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.
-
bool operator!=(InfiniteLineKit const &in_kit) const
Check if the source InfiniteLineKit is not equivalent to this InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit to compare to this InfiniteLineKit.
- Returns
true if the objects are not equivalent, false otherwise.
-
InfiniteLineKit &operator=(InfiniteLineKit &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this InfiniteLineKit thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to an InfiniteLineKit to take the impl from.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &operator=(InfiniteLineKit const &in_kit)
Copies the source InfiniteLineKit into this InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit to copy.
- Returns
A reference to this InfiniteLineKit.
-
bool operator==(InfiniteLineKit const &in_kit) const
Check if the source InfiniteLineKit is equivalent to this InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit to compare to this InfiniteLineKit.
- Returns
true if the objects are equivalent, false otherwise.
-
void Set(InfiniteLineKit const &in_kit)
Copies the source InfiniteLineKit into this InfiniteLineKit.
- Parameters
in_kit – The source InfiniteLineKit to copy.
-
InfiniteLineKit &SetFirst(Point const &in_first)
Sets the first point for this InfiniteLineKit.
- Parameters
in_first – The first point for this InfiniteLineKit. If the type is InfiniteLine::Type::Ray, this will be the point at which the ray starts.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &SetPriority(int in_priority)
Assigns a specific drawing priority value to the InfiniteLineKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.
- See
SubwindowKit::SetPriority()
- See
- Parameters
in_priority – The drawing priority, higher priority items are drawn on top of lower priority items.
- Returns
A reference to this object.
-
InfiniteLineKit &SetSecond(Point const &in_second)
Sets the second point for this InfiniteLineKit.
- Parameters
in_second – The second point for this InfiniteLineKit. If the type is InfiniteLine::Type::Ray, this will be the point through which the ray passes.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &SetType(InfiniteLine::Type in_type)
Sets the type of this InfiniteLineKit.
- Parameters
in_type – The type of this InfiniteLineKit.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &SetUserData(intptr_t in_index, ByteArray const &in_data)
Sets user data on this kit.
- Parameters
in_index – The index of the user data to set.
in_data – The bytes of user data to set.
- Returns
A reference to this kit.
-
InfiniteLineKit &SetUserData(intptr_t in_index, size_t in_bytes, byte const in_data[])
Sets user data on this kit.
- Parameters
in_index – The index of the user data to set.
in_bytes – The number of bytes of user data to set.
in_data – The bytes of user data to set.
- Returns
A reference to this kit.
-
InfiniteLineKit &SetUserData(IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
Sets user data on this kit.
- Parameters
in_indices – An array of user data indices to set.
in_data – An array of bytes of user data to set.
- Returns
A reference to this kit.
-
void Show(InfiniteLineKit &out_kit) const
Copies this InfiniteLineKit into the given InfiniteLineKit.
- Parameters
out_kit – The InfiniteLineKit to populate with the contents of this InfiniteLineKit.
-
bool ShowFirst(Point &out_first) const
Shows the first point for this InfiniteLineKit.
- Parameters
out_first – The first point for this InfiniteLineKit.
- Returns
true if a first point was set, false otherwise.
-
bool ShowPriority(int &out_priority) const
Shows the drawing priority.
- Parameters
out_priority – The drawing priority, higher priority items are drawn on top of lower priority items.
- Returns
true if the setting is valid, false otherwise.
-
bool ShowSecond(Point &out_second) const
Shows the second point for this InfiniteLineKit.
- Parameters
out_second – The second point for this InfiniteLineKit.
- Returns
true if a second point was set, false otherwise.
-
bool ShowType(InfiniteLine::Type &out_type) const
Shows the type of this InfiniteLineKit.
- Parameters
out_type – The type of this InfiniteLineKit.
- Returns
true if a type was set, false otherwise.
-
bool ShowUserData(intptr_t in_index, ByteArray &out_data) const
Shows the user data at a given index for this kit.
- Parameters
in_index – The index of the user data to show.
out_data – The user data at the given index.
- Returns
true if there is user data at the given index, false otherwise.
-
bool ShowUserData(IntPtrTArray &out_indices, ByteArrayArray &out_data) const
Shows all user data for this kit.
- Parameters
out_indices – An array of all user data indices set on this kit.
out_data – An array of all user data set on this kit.
- Returns
true if there is user data on this kit, false otherwise.
-
size_t ShowUserDataCount() const
Get the number of user data indices set on this kit.
-
bool ShowUserDataIndices(IntPtrTArray &out_indices) const
Shows the indices of all user data set on this kit.
- Parameters
out_indices – The user data indices set on this kit.
- Returns
The number of user data indices set on this kit.
-
InfiniteLineKit &UnsetAllUserData()
Removes all user data from this kit.
- Returns
A reference to this kit.
-
InfiniteLineKit &UnsetEverything()
Removes all settings from the InfiniteLineKit.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &UnsetFirst()
Removes the first point for this InfiniteLineKit.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &UnsetPriority()
Removes a drawing priority setting.
- Returns
A reference to this object.
-
InfiniteLineKit &UnsetSecond()
Removes the second point for this InfiniteLineKit.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &UnsetType()
Removes the type of this InfiniteLineKit.
- Returns
A reference to this InfiniteLineKit.
-
InfiniteLineKit &UnsetUserData(intptr_t in_index)
Removes the user data at the given index from this kit.
- Parameters
in_index – The index of the user data to remove.
- Returns
A reference to this kit.
-
InfiniteLineKit &UnsetUserData(IntPtrTArray const &in_indices)
Removes the user data at the given indices from this kit.
- Parameters
in_indices – The indices of the user data to remove.
- Returns
A reference to this kit.
-
InfiniteLineKit &UnsetUserData(size_t in_count, intptr_t const in_indices[])
Removes the user data at the given indices from this kit.
- Parameters
in_count – The size of the following array.
in_indices – The indices of the user data to remove.
- Returns
A reference to this kit.
-
virtual ~InfiniteLineKit()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::InfiniteLineKit
-
void Consume(InfiniteLineKit &in_kit)