Public Member Functions | List of all members
HPS::LineKey Class Reference

#include <hps.h>

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

Public Member Functions

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

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.
HPS::Type HPS::LineKey::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

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

Reimplemented from HPS::GeometryKey.

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

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