#include <hps.h>

Inheritance diagram for HPS::PolygonKit:
HPS::Kit HPS::Object

Public Member Functions

void Consume (PolygonKit &in_kit)
 
PolygonKitEditPointsByDeletion (size_t in_offset, size_t in_count)
 
PolygonKitEditPointsByInsertion (size_t in_offset, size_t in_count, Point const in_points[])
 
PolygonKitEditPointsByInsertion (size_t in_offset, PointArray const &in_points)
 
PolygonKitEditPointsByReplacement (size_t in_offset, size_t in_count, Point const in_points[])
 
PolygonKitEditPointsByReplacement (size_t in_offset, PointArray const &in_points)
 
bool Empty () const
 
bool Equals (PolygonKit const &in_kit) const
 
size_t GetPointCount () const
 
HPS::Type ObjectType () const
 
bool operator!= (PolygonKit const &in_kit) const
 
PolygonKitoperator= (PolygonKit &&in_that)
 
PolygonKitoperator= (PolygonKit const &in_kit)
 
bool operator== (PolygonKit const &in_kit) const
 
 PolygonKit ()
 
 PolygonKit (PolygonKit const &in_kit)
 
 PolygonKit (PolygonKit &&in_that)
 
void Set (PolygonKit const &in_kit)
 
PolygonKitSetPoints (PointArray const &in_points)
 
PolygonKitSetPoints (size_t in_count, Point const in_points [])
 
PolygonKitSetPriority (int in_priority)
 
PolygonKitSetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
PolygonKitSetUserData (intptr_t in_index, ByteArray const &in_data)
 
PolygonKitSetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
void Show (PolygonKit &out_kit) const
 
bool ShowPoints (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
 
bool ShowPointsByRange (size_t in_start_index, size_t in_count, PointArray &out_points) const
 
bool ShowPriority (int &out_priority) 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
 
PointArray Triangulate () const
 
PolygonKitUnsetAllUserData ()
 
PolygonKitUnsetEverything ()
 
PolygonKitUnsetPoints ()
 
PolygonKitUnsetPriority ()
 
PolygonKitUnsetUserData (intptr_t in_index)
 
PolygonKitUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
PolygonKitUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Kit
virtual HPS::Type Type () const
 
- Public Member Functions inherited from HPS::Object
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 ()
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::PolygonKit
 
- Static Public Attributes inherited from HPS::Kit
static const HPS::Type staticType = HPS::Type::Kit
 
- 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 ()
 
- Protected Member Functions inherited from HPS::Kit
 Kit (Kit &&in_that)
 
Kitoperator= (Kit &&in_that)
 

Detailed Description

The PolygonKit class is a user space object. It is a kit analog to a PolygonKey.

Constructor & Destructor Documentation

◆ PolygonKit() [1/3]

HPS::PolygonKit::PolygonKit ( )

The default constructor creates an empty PolygonKit object.

◆ PolygonKit() [2/3]

HPS::PolygonKit::PolygonKit ( PolygonKit const &  in_kit)

The copy constructor creates a new PolygonKit object that contains the same settings as the source PolygonKit.

Parameters
in_kitThe source PolygonKit to copy.

◆ PolygonKit() [3/3]

HPS::PolygonKit::PolygonKit ( PolygonKit &&  in_that)

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

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

Member Function Documentation

◆ Consume()

void HPS::PolygonKit::Consume ( PolygonKit in_kit)

Copies the source PolygonKit into this LineKit and resets the source kit.

Parameters
in_kitThe source PolygonKit to consume.

◆ EditPointsByDeletion()

PolygonKit& HPS::PolygonKit::EditPointsByDeletion ( size_t  in_offset,
size_t  in_count 
)

Remove the specified number of points from this PolygonKit at the specified offset.

Parameters
in_offsetThe offset into the points for PolygonKit at which to remove points.
in_countThe number of points to remove.
Returns
A reference to this PolygonKit.

◆ EditPointsByInsertion() [1/2]

PolygonKit& HPS::PolygonKit::EditPointsByInsertion ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Add points to this PolygonKit at the specified offset.

Parameters
in_offsetThe offset into the points for PolygonKit at which to add points.
in_countSize of the following array.
in_pointsThe points to add to this PolygonKit.
Returns
A reference to this PolygonKit.

◆ EditPointsByInsertion() [2/2]

PolygonKit& HPS::PolygonKit::EditPointsByInsertion ( size_t  in_offset,
PointArray const &  in_points 
)

Add points to this PolygonKit at the specified offset.

Parameters
in_offsetThe offset into the points for PolygonKit at which to add points.
in_pointsThe points to add to this PolygonKit.
Returns
A reference to this PolygonKit.

◆ EditPointsByReplacement() [1/2]

PolygonKit& HPS::PolygonKit::EditPointsByReplacement ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Replace the specified number of points for this PolygonKit at the specified offset.

Parameters
in_offsetThe offset into the points for PolygonKit at which to start replacing points.
in_countSize of the following array.
in_pointsThe points to use to replace those on this PolygonKit.
Returns
A reference to this PolygonKit.

◆ EditPointsByReplacement() [2/2]

PolygonKit& HPS::PolygonKit::EditPointsByReplacement ( size_t  in_offset,
PointArray const &  in_points 
)

Replace the specified number of points for this PolygonKit at the specified offset.

Parameters
in_offsetThe offset into the points for PolygonKit at which to start replacing points.
in_pointsThe points to use to replace those on this PolygonKit.
Returns
A reference to this PolygonKit.

◆ Empty()

bool HPS::PolygonKit::Empty ( ) const
virtual

Indicates whether this PolygonKit has any values set on it.

Returns
true if no values are set on this PolygonKit, false otherwise.

Reimplemented from HPS::Object.

◆ Equals()

bool HPS::PolygonKit::Equals ( PolygonKit const &  in_kit) const

Check if the source PolygonKit is equivalent to this PolygonKit.

Parameters
in_kitThe source PolygonKit to compare to this PolygonKit.
Returns
true if the objects are equivalent, false otherwise.

◆ GetPointCount()

size_t HPS::PolygonKit::GetPointCount ( ) const

Retrieves the number of points in this polygon.

Returns
The number of points in this polygon.

◆ ObjectType()

HPS::Type HPS::PolygonKit::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::Kit.

◆ operator!=()

bool HPS::PolygonKit::operator!= ( PolygonKit const &  in_kit) const

Check if the source PolygonKit is not equivalent to this PolygonKit.

Parameters
in_kitThe source PolygonKit to compare to this PolygonKit.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator=() [1/2]

PolygonKit& HPS::PolygonKit::operator= ( PolygonKit &&  in_that)

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

Parameters
in_thatAn rvalue reference to a PolygonKit to take the impl from.
Returns
A reference to this PolygonKit.

◆ operator=() [2/2]

PolygonKit& HPS::PolygonKit::operator= ( PolygonKit const &  in_kit)

Copies the source PolygonKit into this PolygonKit.

Parameters
in_kitThe source PolygonKit to copy.
Returns
A reference to this PolygonKit.

◆ operator==()

bool HPS::PolygonKit::operator== ( PolygonKit const &  in_kit) const

Check if the source PolygonKit is equivalent to this PolygonKit.

Parameters
in_kitThe source PolygonKit to compare to this PolygonKit.
Returns
true if the objects are equivalent, false otherwise.

◆ Set()

void HPS::PolygonKit::Set ( PolygonKit const &  in_kit)

Copies the source PolygonKit into this PolygonKit.

Parameters
in_kitThe source PolygonKit to copy.

◆ SetPoints() [1/2]

PolygonKit& HPS::PolygonKit::SetPoints ( PointArray const &  in_points)

Sets the points for this PolygonKit.

Parameters
in_pointsThe points for this PolygonKit.
Returns
A reference to this PolygonKit.

◆ SetPoints() [2/2]

PolygonKit& HPS::PolygonKit::SetPoints ( size_t  in_count,
Point const  in_points[] 
)

Sets the points for this PolygonKit.

Parameters
in_countSize of the following array.
in_pointsThe points for this PolygonKit.
Returns
A reference to this PolygonKit.

◆ SetPriority()

PolygonKit& HPS::PolygonKit::SetPriority ( int  in_priority)

Assigns a specific drawing priority value to the PolygonKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

Parameters
in_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetPriority()
SubwindowKit::SetRenderingAlgorithm()

◆ SetUserData() [1/3]

PolygonKit& HPS::PolygonKit::SetUserData ( intptr_t  in_index,
size_t  in_bytes,
byte const  in_data[] 
)

Sets user data on this kit.

Parameters
in_indexThe index of the user data to set.
in_bytesThe number of bytes of user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this kit.

◆ SetUserData() [2/3]

PolygonKit& HPS::PolygonKit::SetUserData ( intptr_t  in_index,
ByteArray const &  in_data 
)

Sets user data on this kit.

Parameters
in_indexThe index of the user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this kit.

◆ SetUserData() [3/3]

PolygonKit& HPS::PolygonKit::SetUserData ( IntPtrTArray const &  in_indices,
ByteArrayArray const &  in_data 
)

Sets user data on this kit.

Parameters
in_indicesAn array of user data indices to set.
in_dataAn array of bytes of user data to set.
Returns
A reference to this kit.

◆ Show()

void HPS::PolygonKit::Show ( PolygonKit out_kit) const

Copies this PolygonKit into the given PolygonKit.

Parameters
out_kitThe PolygonKit to populate with the contents of this PolygonKit.

◆ ShowPoints()

bool HPS::PolygonKit::ShowPoints ( PointArray out_points) const

Shows the points for this PolygonKit.

Parameters
out_pointsThe points for this PolygonKit.
Returns
true if points were set, false otherwise.

◆ ShowPointsByList() [1/2]

bool HPS::PolygonKit::ShowPointsByList ( SizeTArray const &  in_indices,
PointArray out_points 
) const

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

Parameters
in_indicesThe list of point indices to show.
out_pointsThe requested points for this PolygonKit.
Returns
true if all requested points were set, false otherwise.

◆ ShowPointsByList() [2/2]

bool HPS::PolygonKit::ShowPointsByList ( size_t  in_count,
size_t const  in_indices[],
PointArray out_points 
) const

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

Parameters
in_countThe number of points to show.
in_indicesThe list of point indices to show.
out_pointsThe requested points for this PolygonKit.
Returns
true if all requested points were set, false otherwise.

◆ ShowPointsByRange()

bool HPS::PolygonKit::ShowPointsByRange ( size_t  in_start_index,
size_t  in_count,
PointArray out_points 
) const

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

Parameters
in_start_indexThe first point to show.
in_countThe number of points to show.
out_pointsThe requested points for this PolygonKit.
Returns
true if all requested points were set, false otherwise.

◆ ShowPriority()

bool HPS::PolygonKit::ShowPriority ( int &  out_priority) const

Shows the drawing priority.

Parameters
out_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
true if the setting is valid, false otherwise.

◆ ShowUserData() [1/2]

bool HPS::PolygonKit::ShowUserData ( intptr_t  in_index,
ByteArray out_data 
) const

Shows the user data at a given index for this kit.

Parameters
in_indexThe index of the user data to show.
out_dataThe user data at the given index.
Returns
true if there is user data at the given index, false otherwise.

◆ ShowUserData() [2/2]

bool HPS::PolygonKit::ShowUserData ( IntPtrTArray out_indices,
ByteArrayArray out_data 
) const

Shows all user data for this kit.

Parameters
out_indicesAn array of all user data indices set on this kit.
out_dataAn array of all user data set on this kit.
Returns
true if there is user data on this kit, false otherwise.

◆ ShowUserDataCount()

size_t HPS::PolygonKit::ShowUserDataCount ( ) const

Get the number of user data indices set on this kit.

◆ ShowUserDataIndices()

bool HPS::PolygonKit::ShowUserDataIndices ( IntPtrTArray out_indices) const

Shows the indices of all user data set on this kit.

Parameters
out_indicesThe user data indices set on this kit.
Returns
The number of user data indices set on this kit.

◆ Triangulate()

PointArray HPS::PolygonKit::Triangulate ( ) const

Divides the polygon into triangles. Note that the data in this kit is left untouched. If the polygon is self-intersecting, the intersection points will be calculated and taken into account If an error is encountered while triangulating the polygon, the returned array will be empty.

Returns
An array of points. Each triplet of points represents one of the triangle that was computed. For example, the returned values 0th, 1st and 2nd points represent the first triangle, and the 3rd, 4th and 5th points represent second one, and so forth.

◆ UnsetAllUserData()

PolygonKit& HPS::PolygonKit::UnsetAllUserData ( )

Removes all user data from this kit.

Returns
A reference to this kit.

◆ UnsetEverything()

PolygonKit& HPS::PolygonKit::UnsetEverything ( )

Removes all settings from this PolygonKit.

Returns
A reference to this PolygonKit.

◆ UnsetPoints()

PolygonKit& HPS::PolygonKit::UnsetPoints ( )

Removes the points for this PolygonKit.

Returns
A reference to this PolygonKit.

◆ UnsetPriority()

PolygonKit& HPS::PolygonKit::UnsetPriority ( )

Removes a drawing priority setting.

Returns
A reference to this object.

◆ UnsetUserData() [1/3]

PolygonKit& HPS::PolygonKit::UnsetUserData ( intptr_t  in_index)

Removes the user data at the given index from this kit.

Parameters
in_indexThe index of the user data to remove.
Returns
A reference to this kit.

◆ UnsetUserData() [2/3]

PolygonKit& HPS::PolygonKit::UnsetUserData ( size_t  in_count,
intptr_t const  in_indices[] 
)

Removes the user data at the given indices from this kit.

Parameters
in_countThe size of the following array.
in_indicesThe indices of the user data to remove.
Returns
A reference to this kit.

◆ UnsetUserData() [3/3]

PolygonKit& HPS::PolygonKit::UnsetUserData ( IntPtrTArray const &  in_indices)

Removes the user data at the given indices from this kit.

Parameters
in_indicesThe indices of the user data to remove.
Returns
A reference to this kit.

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