API Search || Global Search

#include <hps.h>

Inheritance diagram for HPS::LineKey:
HPS::GeometryKey HPS::Key HPS::Object

Public Member Functions

void Consume (LineKit &in_kit)
 
LineKeyEditPointsByDeletion (size_t in_offset, size_t in_count)
 
LineKeyEditPointsByInsertion (size_t in_offset, size_t in_count, Point const in_points[])
 
LineKeyEditPointsByInsertion (size_t in_offset, PointArray const &in_points)
 
LineKeyEditPointsByReplacement (size_t in_offset, size_t in_count, Point const in_points[])
 
LineKeyEditPointsByReplacement (size_t in_offset, PointArray const &in_points)
 
size_t GetPointCount () const
 
 LineKey ()
 
 LineKey (Key const &in_that)
 
 LineKey (LineKey const &in_that)
 
 LineKey (LineKey &&in_that)
 
HPS::Type ObjectType () const
 
LineKeyoperator= (LineKey const &in_that)
 
LineKeyoperator= (LineKey &&in_that)
 
void Set (LineKit const &in_kit)
 
LineKeySetPointCoordinateSpace (size_t in_count, size_t const in_indices[], Line::CoordinateSpace const in_spaces[])
 
LineKeySetPointCoordinateSpace (SizeTArray const &in_indices, LineCoordinateSpaceArray const &in_spaces)
 
LineKeySetPointCoordinateSpace (LineCoordinateSpaceArray const &in_spaces)
 
LineKeySetPointCoordinateSpace (size_t in_count, Line::CoordinateSpace const in_spaces[])
 
LineKeySetPoints (PointArray const &in_points)
 
LineKeySetPoints (size_t in_count, Point const in_points[])
 
LineKeySetPoints (PointArray const &in_points, LineCoordinateSpaceArray const &in_spaces)
 
LineKeySetPoints (size_t in_count, Point const in_points[], Line::CoordinateSpace const in_spaces[])
 
void Show (LineKit &out_kit) const
 
bool ShowPointCoordinateSpace (size_t in_count, size_t const in_indices[], LineCoordinateSpaceArray &out_spaces) const
 
bool ShowPointCoordinateSpace (SizeTArray const &in_indices, LineCoordinateSpaceArray &out_spaces) const
 
bool ShowPointCoordinateSpace (LineCoordinateSpaceArray &out_spaces) const
 
bool ShowPoints (PointArray &out_points) const
 
bool ShowPoints (PointArray &out_points, LineCoordinateSpaceArray &out_coordinate_spaces) const
 
bool ShowPointsByList (SizeTArray const &in_indices, PointArray &out_points) const
 
bool ShowPointsByList (size_t in_count, size_t const in_indices[], PointArray &out_points) const
 
bool ShowPointsByRange (size_t in_start_index, size_t in_count, PointArray &out_points) const
 
LineKeyUnsetPointCoordinateSpace (SizeTArray const &in_indices)
 
LineKeyUnsetPointCoordinateSpace (size_t in_count, size_t const in_indices[])
 
LineKeyUnsetPointCoordinateSpace ()
 
- Public Member Functions inherited from HPS::GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
bool ShowBounding (BoundingKit &out_kit) const
 
bool ShowPriority (int &out_priority) const
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
GeometryKeyUnsetAllUserData ()
 
GeometryKeyUnsetPriority ()
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::LineKey
 
- Static Public Attributes inherited from HPS::GeometryKey
static const HPS::Type staticType = HPS::Type::GeometryKey
 
- Static Public Attributes inherited from HPS::Key
static const HPS::Type staticType = HPS::Type::Key
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

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

Constructor & Destructor Documentation

HPS::LineKey::LineKey ( )

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

HPS::LineKey::LineKey ( Key const &  in_that)
explicit

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.

Parameters
in_nameThe source Key to copy.
HPS::LineKey::LineKey ( LineKey const &  in_that)

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

Parameters
in_thatThe source LineKey to copy.
HPS::LineKey::LineKey ( LineKey &&  in_that)

The move constructor creates a LineKey by transferring the underlying impl of the rvalue reference to this LineKey thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a LineKey to take the impl from.

Member Function Documentation

void HPS::LineKey::Consume ( LineKit in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this LineKey.
LineKey& HPS::LineKey::EditPointsByDeletion ( size_t  in_offset,
size_t  in_count 
)

Removes points from the point list for this LineKey.

Parameters
in_offsetThe 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_countThe 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 LineKey.
LineKey& HPS::LineKey::EditPointsByInsertion ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Adds points to the point list for this LineKey.

Parameters
in_offsetThe 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_countSize of the following array.
in_pointsThe points to insert into the point list at the specified offset.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::EditPointsByInsertion ( size_t  in_offset,
PointArray const &  in_points 
)

Adds points to the point list for this LineKey.

Parameters
in_offsetThe 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_pointsThe points to insert into the point list at the specified offset.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::EditPointsByReplacement ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Replaces points in the point list for this LineKey.

Parameters
in_offsetThe 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_countSize of the following array. This value must be such that in_offset+in_count<=point_count for the replacement to succeed.
in_pointsThe points to use to replace those in the point list at the specified offset.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::EditPointsByReplacement ( size_t  in_offset,
PointArray const &  in_points 
)

Replaces points in the point list for this LineKey.

Parameters
in_offsetThe 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_pointsThe 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 LineKey.
size_t HPS::LineKey::GetPointCount ( ) const

Retrieves the number of points in this line.

Returns
The number of points in this line.
LineKey& HPS::LineKey::operator= ( LineKey const &  in_that)

Associate this LineKey with the same underlying impl as the source LineKey.

Parameters
in_thatThe source LineKey for the assignment.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::operator= ( LineKey &&  in_that)

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

Parameters
in_thatAn rvalue reference to a LineKey to take the impl from.
Returns
A reference to this LineKey.
void HPS::LineKey::Set ( LineKit const &  in_kit)

Copies the source LineKit into this LineKit.

Parameters
in_kitThe source LineKit to copy.
LineKey& HPS::LineKey::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_countThe number of points to unset.
in_indicesThe list of point indices to unset.
in_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::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_indicesThe list of point indices to unset.
in_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::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_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::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_countSize of the following array.
in_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::SetPoints ( PointArray const &  in_points)

Sets the points for this LineKey.

Parameters
in_pointsThe points for this LineKey.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::SetPoints ( size_t  in_count,
Point const  in_points[] 
)

Sets the points for this LineKey.

Parameters
in_countSize of the following array.
in_pointsThe points for this LineKey.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::SetPoints ( PointArray const &  in_points,
LineCoordinateSpaceArray const &  in_spaces 
)

Sets the points for this LineKey.

Parameters
in_pointsThe points for this LineKey.
in_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::SetPoints ( size_t  in_count,
Point const  in_points[],
Line::CoordinateSpace const  in_spaces[] 
)

Sets the points for this LineKey.

Parameters
in_countSize of the following array.
in_pointsThe points for this LineKey.
in_spacesThe coordinate spaces for each point in the line.
Returns
A reference to this LineKey.
void HPS::LineKey::Show ( LineKit out_kit) const

Copies this LineKit into the given LineKit.

Parameters
out_kitThe LineKit to populate with the contents of this LineKit.
bool HPS::LineKey::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_countThe number of points to show.
in_indicesThe list of point indices to show.
out_spacesThe coordinate spaces for each index specified.
Returns
true if line coordinates could be retrieved for this line false otherwise.
bool HPS::LineKey::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_indicesThe list of point indices to show.
out_spacesThe coordinate spaces for each index specified.
Returns
true if line coordinates could be retrieved for this line false otherwise.
bool HPS::LineKey::ShowPointCoordinateSpace ( LineCoordinateSpaceArray out_spaces) const

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

Parameters
out_spacesThe coordinate spaces for each all points on this line.
Returns
true if line coordinates could be retrieved for this line false otherwise.
bool HPS::LineKey::ShowPoints ( PointArray out_points) const

Shows the points for this LineKey.

Parameters
out_pointsThe points for this LineKey.
Returns
true if points were set, false otherwise.
bool HPS::LineKey::ShowPoints ( PointArray out_points,
LineCoordinateSpaceArray out_coordinate_spaces 
) const

Shows the points for this LineKey.

Parameters
out_pointsThe points for this LineKey.
out_coordinate_spacesThe coordinate spaces for each point in this line.
Returns
true if points were set, false otherwise.
bool HPS::LineKey::ShowPointsByList ( SizeTArray const &  in_indices,
PointArray out_points 
) const

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

Parameters
in_indicesThe list of point indices to show.
out_pointsThe requested points for this LineKey.
Returns
true if all requested points were set, false otherwise.
bool HPS::LineKey::ShowPointsByList ( size_t  in_count,
size_t const  in_indices[],
PointArray out_points 
) const

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

Parameters
in_countThe number of points to show.
in_indicesThe list of point indices to show.
out_pointsThe requested points for this LineKey.
Returns
true if all requested points were set, false otherwise.
bool HPS::LineKey::ShowPointsByRange ( size_t  in_start_index,
size_t  in_count,
PointArray out_points 
) const

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

Parameters
in_start_indexThe first point to show.
in_countThe number of points to show.
out_pointsThe requested points for this LineKey.
Returns
true if all requested points were set, false otherwise.
LineKey& HPS::LineKey::UnsetPointCoordinateSpace ( SizeTArray const &  in_indices)

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

Parameters
in_indicesThe list of point indices to unset.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::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_countThe number of points to unset.
in_indicesThe list of point indices to unset.
Returns
A reference to this LineKey.
LineKey& HPS::LineKey::UnsetPointCoordinateSpace ( )

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

Returns
A reference to this LineKey.

The documentation for this class was generated from the following file: