LineKey

class HPS.LineKey : public HPS.GeometryKey

The LineKey class is a smart pointer to a database object. It is a handle to a line inserted via SegmentKey.InsertLine.

Public Functions

void Consume (HPS.LineKit in_kit)

Completely replaces all settings on this LineKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this LineKey.

override void Dispose ()
HPS.LineKey EditPointsByDeletion (ulong in_offset, ulong in_count)

Removes points from the point list for this LineKey.

Param 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.

Param 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.

Return

A reference to this LineKey.

HPS.LineKey EditPointsByInsertion (ulong in_offset, HPS.Point[] in_points)

Adds points to the point list for this LineKey.

Param 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.

Param in_points

The points to insert into the point list at the specified offset.

Return

A reference to this LineKey.

HPS.LineKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces points in the point list for this LineKey.

Param 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.

Param 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.

Return

A reference to this LineKey.

ulong GetPointCount ()

Retrieves the number of points in this line.

Return

The number of points in this line.

LineKey ()

The default constructor creates an uninitialized LineKey object. The Type() function will return Type.None.

LineKey (HPS.Key in_that)

This constructor creates a LineKey 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 a Line key. Otherwise the copy will fail and the resulting LineKey will be invalid.

LineKey (HPS.LineKey in_that)

The copy constructor creates a LineKey object that shares the underlying smart-pointer of the source LineKey.

Param in_that

The source LineKey to copy.

override HPS.Type ObjectType ()

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

Return

The declared type of the object in question, which may differ from the true, underlying type.

void Set (HPS.LineKit in_kit)

Copies the source LineKit into this LineKit.

Param in_kit

The source LineKit to copy.

HPS.LineKey SetPointCoordinateSpace (HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

HPS.LineKey SetPointCoordinateSpace (ulong[] in_indices, HPS.Line.CoordinateSpace[] in_spaces)

Sets the coordinate space to use for each point of this line. The default is Line.CoordinateSpace.Object.

Param in_indices

The list of point indices to unset.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

HPS.LineKey SetPoints (HPS.Point[] in_points)

Sets the points for this LineKey.

Param in_points

The points for this LineKey.

Return

A reference to this LineKey.

HPS.LineKey SetPoints (HPS.Point[] in_points, HPS.Line.CoordinateSpace[] in_spaces)

Sets the points for this LineKey.

Param in_points

The points for this LineKey.

Param in_spaces

The coordinate spaces for each point in the line.

Return

A reference to this LineKey.

void Show (out HPS.LineKit out_kit)

Copies this LineKit into the given LineKit.

Param out_kit

The LineKit to populate with the contents of this LineKit.

bool ShowPointCoordinateSpace (out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param out_spaces

The coordinate spaces for each all points on this line.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPointCoordinateSpace (ulong[] in_indices, out HPS.Line.CoordinateSpace[] out_spaces)

Shows the coordinate space that is being used for the points at the specified indices.

Param in_indices

The list of point indices to show.

Param out_spaces

The coordinate spaces for each index specified.

Return

true if line coordinates could be retrieved for this line false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the points for this LineKey.

Param out_points

The points for this LineKey.

Return

true if points were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points, out HPS.Line.CoordinateSpace[] out_coordinate_spaces)

Shows the points for this LineKey.

Param out_points

The points for this LineKey.

Param out_coordinate_spaces

The coordinate spaces for each point in this line.

Return

true if points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this LineKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this LineKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this LineKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this LineKey.

Return

true if all requested points were set, false otherwise.

HPS.LineKey UnsetPointCoordinateSpace ()

Unsets the coordinate space for all points on this line back to Coordinate.Space.Object.

Return

A reference to this LineKey.

HPS.LineKey UnsetPointCoordinateSpace (ulong[] in_indices)

Unsets the coordinate space for specified points on this line back to Coordinate.Space.Object.

Param in_indices

The list of point indices to unset.

Return

A reference to this LineKey.