LineKit
-
class LineKit : public HPS::Kit
The LineKit class is a user space object. It is a kit analog to a LineKey.
Public Functions
-
void Consume(LineKit &in_kit)
Copies the source LineKit into this LineKit and resets the source kit.
- Parameters:
in_kit – The source LineKit to consume.
-
LineKit &EditPointsByDeletion(size_t in_offset, size_t in_count)
Removes points from the point list for this LineKit.
- Parameters:
in_offset – The offset into the point list for the line at which to start removing points. This value must be such that in_offset<point_count for deletion to succeed.
in_count – The number of points to delete from the point list for the line. This value must be such that in_offset+in_count<=point_count for the deletion to succeed.
- Returns:
A reference to this LineKit.
-
LineKit &EditPointsByInsertion(size_t in_offset, PointArray const &in_points)
Adds points to the point list for this LineKit.
- Parameters:
in_offset – The offset into the point list for the line at which to insert points. This value must be such that in_offset <= point_count for insertion to succeed.
in_points – The points to insert into the point list at the specified offset.
- Returns:
A reference to this LineKit.
-
LineKit &EditPointsByInsertion(size_t in_offset, size_t in_count, Point const in_points[])
Adds points to the point list for this LineKit.
- Parameters:
in_offset – The offset into the point list for the line at which to insert points. This value must be such that in_offset <= point_count for insertion to succeed.
in_count – Size of the following array.
in_points – The points to insert into the point list at the specified offset.
- Returns:
A reference to this LineKit.
-
LineKit &EditPointsByReplacement(size_t in_offset, PointArray const &in_points)
Replaces points in the point list for this LineKit.
- Parameters:
in_offset – The offset into the point list for the line at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.
in_points – The points to use to replace those in the point list at the specified offset. This size of the array must be such that in_offset+in_points.size()<=point_count for the replacement to succeed.
- Returns:
A reference to this LineKit.
-
LineKit &EditPointsByReplacement(size_t in_offset, size_t in_count, Point const in_points[])
Replaces points in the point list for this LineKit.
- Parameters:
in_offset – The offset into the point list for the line at which to start replacing points. This value must be such that in_offset<point_count for replacement to succeed.
in_count – Size of the following array. This value must be such that in_offset+in_count<=point_count for the replacement to succeed.
in_points – The points to use to replace those in the point list at the specified offset.
- Returns:
A reference to this LineKit.
-
virtual bool Empty() const
Indicates whether this LineKit has any values set on it.
- Returns:
true if no values are set on this LineKit, false otherwise.
-
size_t GetPointCount() const
Retrieves the number of points in this line.
- Returns:
The number of points in this line.
-
LineKit(LineKit &&in_that)
The move constructor creates a LineKit by transferring the underlying impl of the rvalue reference to this LineKit thereby avoiding a copy and allocation.
- Parameters:
in_that – An rvalue reference to a LineKit to take the impl from.
-
LineKit(LineKit const &in_kit)
The copy constructor creates a new LineKit object that contains the same settings as the source LineKit.
- Parameters:
in_kit – The source LineKit 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!=(LineKit const &in_kit) const
Check if the source LineKit is not equivalent to this LineKit.
-
LineKit &operator=(LineKit &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this LineKit thereby avoiding a copy.
-
void Set(LineKit const &in_kit)
Copies the source LineKit into this LineKit.
- Parameters:
in_kit – The source LineKit to copy.
-
LineKit &SetPointCoordinateSpace(LineCoordinateSpaceArray const &in_spaces)
Sets the coordinate space to use for each point of this line. The default is Line::CoordinateSpace::Object.
- Parameters:
in_spaces – The coordinate spaces for each point in the line.
- Returns:
A reference to this LineKit.
-
LineKit &SetPointCoordinateSpace(size_t in_count, Line::CoordinateSpace const in_spaces[])
Sets the coordinate space to use for each point of this line. The default is Line::CoordinateSpace::Object.
- Parameters:
in_count – Size of the following array.
in_spaces – The coordinate spaces for each point in the line.
- Returns:
A reference to this LineKit.
-
LineKit &SetPointCoordinateSpace(size_t in_count, size_t const in_indices[], Line::CoordinateSpace const in_spaces[])
Sets the coordinate space to use for each point of this line. The default is Line::CoordinateSpace::Object.
- Parameters:
in_count – The number of points to unset.
in_indices – The list of point indices to unset.
in_spaces – The coordinate spaces for each point in the line.
- Returns:
A reference to this LineKit.
-
LineKit &SetPointCoordinateSpace(SizeTArray const &in_indices, LineCoordinateSpaceArray const &in_spaces)
Sets the coordinate space to use for each point of this line. The default is Line::CoordinateSpace::Object.
- Parameters:
in_indices – The list of point indices to unset.
in_spaces – The coordinate spaces for each point in the line.
- Returns:
A reference to this LineKit.
-
LineKit &SetPoints(PointArray const &in_points, LineCoordinateSpaceArray const &in_spaces)
Sets the points for this LineKit.
-
LineKit &SetPoints(size_t in_count, Point const in_points[], Line::CoordinateSpace const in_spaces[])
Sets the points for this LineKit.
-
LineKit &SetPriority(int in_priority)
Assigns a specific drawing priority value to the LineKit. 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 also
SubwindowKit::SetPriority()
- Parameters:
in_priority – The drawing priority, higher priority items are drawn on top of lower priority items.
- Returns:
A reference to this object.
-
LineKit &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.
-
LineKit &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.
-
LineKit &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.
-
bool ShowPointCoordinateSpace(LineCoordinateSpaceArray &out_spaces) const
Shows the coordinate space that is being used for the points at the specified indices.
- Parameters:
out_spaces – The coordinate spaces for each all points on this line.
- Returns:
true if line coordinates could be retrieved for this line false otherwise.
-
bool ShowPointCoordinateSpace(size_t in_count, size_t const in_indices[], LineCoordinateSpaceArray &out_spaces) const
Shows the coordinate space that is being used for the points at the specified indices.
- Parameters:
in_count – The number of points to show.
in_indices – The list of point indices to show.
out_spaces – The coordinate spaces for each index specified.
- Returns:
true if line coordinates could be retrieved for this line false otherwise.
-
bool ShowPointCoordinateSpace(SizeTArray const &in_indices, LineCoordinateSpaceArray &out_spaces) const
Shows the coordinate space that is being used for the points at the specified indices.
- Parameters:
in_indices – The list of point indices to show.
out_spaces – The coordinate spaces for each index specified.
- Returns:
true if line coordinates could be retrieved for this line false otherwise.
-
bool ShowPoints(PointArray &out_points) const
Shows the points for this LineKit.
- Parameters:
out_points – The points for this LineKit.
- Returns:
true if points were set, false otherwise.
-
bool ShowPoints(PointArray &out_points, LineCoordinateSpaceArray &out_coordinate_spaces) const
Shows the points for this LineKit.
- Parameters:
out_points – The points for this LineKit.
out_coordinate_spaces – The coordinate spaces for each point in this line.
- Returns:
true if points were set, false otherwise.
-
bool ShowPointsByList(size_t in_count, size_t const in_indices[], PointArray &out_points) const
Show a subset of the points for this LineKit by list.
- Parameters:
in_count – The number of points to show.
in_indices – The list of point indices to show.
out_points – The requested points for this LineKit.
- Returns:
true if all requested points were set, false otherwise.
-
bool ShowPointsByList(SizeTArray const &in_indices, PointArray &out_points) const
Show a subset of the points for this LineKit by list.
- Parameters:
in_indices – The list of point indices to show.
out_points – The requested points for this LineKit.
- Returns:
true if all requested points were set, false otherwise.
-
bool ShowPointsByRange(size_t in_start_index, size_t in_count, PointArray &out_points) const
Show a subset of the points for this LineKit by range.
- Parameters:
in_start_index – The first point to show.
in_count – The number of points to show.
out_points – The requested points for this LineKit.
- Returns:
true if all requested points were 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 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.
-
LineKit &UnsetEverything()
Removes all settings from the LineKit.
- Returns:
A reference to this LineKit.
-
LineKit &UnsetPointCoordinateSpace()
Unsets the coordinate space for all points on this line back to Coordinate::Space::Object.
- Returns:
A reference to this LineKit.
-
LineKit &UnsetPointCoordinateSpace(size_t in_count, size_t const in_indices[])
Unsets the coordinate space for specified points on this line back to Coordinate::Space::Object.
- Parameters:
in_count – The number of points to unset.
in_indices – The list of point indices to unset.
- Returns:
A reference to this LineKit.
-
LineKit &UnsetPointCoordinateSpace(SizeTArray const &in_indices)
Unsets the coordinate space for specified points on this line back to Coordinate::Space::Object.
- Parameters:
in_indices – The list of point indices to unset.
- Returns:
A reference to this LineKit.
-
LineKit &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.
-
LineKit &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.
-
LineKit &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 ~LineKit()
-
void Consume(LineKit &in_kit)