LineKit

class HPS::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.

bool Equals(LineKit const &in_kit) const

Check if the source LineKit is equivalent to this LineKit.

Parameters

in_kit – The source LineKit to compare to this LineKit.

Returns

true if the objects are equivalent, false otherwise.

size_t GetPointCount() const

Retrieves the number of points in this line.

Returns

The number of points in this line.

LineKit()

The default constructor creates an empty LineKit object.

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.

Parameters

in_kit – The source LineKit to compare to this LineKit.

Returns

true if the objects are not equivalent, false otherwise.

LineKit &operator=(LineKit &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this LineKit thereby avoiding a copy.

Parameters

in_that – An rvalue reference to an LineKit to take the impl from.

Returns

A reference to this LineKit.

LineKit &operator=(LineKit const &in_kit)

Copies the source LineKit into this LineKit.

Parameters

in_kit – The source LineKit to copy.

Returns

A reference to this LineKit.

bool operator==(LineKit const &in_kit) const

Check if the source LineKit is equivalent to this LineKit.

Parameters

in_kit – The source LineKit to compare to this LineKit.

Returns

true if the objects are equivalent, false otherwise.

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)

Sets the points for this LineKit.

Parameters

in_points – The points for this LineKit.

Returns

A reference to this LineKit.

LineKit &SetPoints(PointArray const &in_points, LineCoordinateSpaceArray const &in_spaces)

Sets the points for this LineKit.

Parameters
  • in_points – The points for this LineKit.

  • in_spaces – The coordinate spaces for each point in the line.

Returns

A reference to this LineKit.

LineKit &SetPoints(size_t in_count, Point const in_points[])

Sets the points for this LineKit.

Parameters
  • in_count – Size of the following array.

  • in_points – The points for this LineKit.

Returns

A reference to this LineKit.

LineKit &SetPoints(size_t in_count, Point const in_points[], Line::CoordinateSpace const in_spaces[])

Sets the points for this LineKit.

Parameters
  • in_count – Size of the following array.

  • in_points – The points for this LineKit.

  • in_spaces – The coordinate spaces for each point in the line.

Returns

A reference to 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

SubwindowKit::SetPriority()

See

SubwindowKit::SetRenderingAlgorithm()

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.

void Show(LineKit &out_kit) const

Copies this LineKit into the given LineKit.

Parameters

out_kit – The LineKit to populate with the contents of this LineKit.

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 &UnsetAllUserData()

Removes all user data from this kit.

Returns

A reference to 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 &UnsetPoints()

Removes the points for this LineKit.

Returns

A reference to this LineKit.

LineKit &UnsetPriority()

Removes a drawing priority setting.

Returns

A reference to this object.

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()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::LineKit