#include <c4d_pgon.h>
Private Member Functions | |
Bool | Alloc (Int32 cnt) |
void | Free () |
Bool | CopyFrom (const Pgon *src) |
Pgon () | |
~Pgon () | |
Private Attributes | |
PgonEdge * | m_Edge |
Int32 | m_Count |
Friends | |
class | NgonBase |
Edge Access | |
Int32 | GetCount () |
PgonEdge * | GetEdge (Int32 i) |
PgonEdge Convenience Methods | |
Int32 | ID (Int32 i) |
Int32 | State (Int32 i) |
Int32 | Edge (Int32 i) |
Int32 | EdgeIndex (Int32 i) |
Int32 | IsFirst (Int32 i) |
Int32 | IsSegmentEnd (Int32 i) |
Int32 | GetIdentity () |
void | GetEdge (Int32 i, const CPolygon *vadr, Int32 &p1, Int32 &p2) |
Miscellaneous | |
Int32 | FindPolygon (Int32 id) |
Update | |
void | UpdateStates () |
An N-gon represented as a list of edges.
|
private |
|
private |
|
private |
Int32 GetCount | ( | ) |
Gets the number of elements in the array (all PgonEdges in all segments).
Gets direct access to a PgonEdge.
[in] | i | An edge index. |
Convenience method for PgonEdge::ID() for the edge at index i.
[in] | i | An edge index. |
Convenience method for PgonEdge::State() for the edge at index i.
[in] | i | An edge index. |
Convenience method for PgonEdge::Edge() for the edge at index i.
[in] | i | An edge index. |
Convenience method for PgonEdge::EdgeIndex() for the edge at index i.
[in] | i | An edge index. |
Convenience method for PgonEdge::IsFirst() for the edge at index i.
[in] | i | An edge index. |
Convenience method for PgonEdge::IsSegmentEnd() for the edge at index i.
[in] | i | An edge index. |
Int32 GetIdentity | ( | ) |
Gets the first polygon ID in the array.
Useful as a marker (identity) for the N-gon giving a polygon ID that is within the N-gon.
Convenience method for PgonEdge::GetEdge() for the edge at index i.
[in] | i | An edge index. |
[in] | vadr | The polygon array. The caller owns the pointed array. |
[in] | p1 | Assigned the first edge point index. |
[in] | p2 | Assigned the second edge point index. |
Does a search to see if the polygon with index id exists within the N-gon.
[in] | id | A polygon ID to search for. |
void UpdateStates | ( | ) |
If any changes are done to the edges this must be called when completed to update the repeat markers of the N-gon edges.
Also note that any changes must correct set/change any of the marker bits (such as the segment end, or no edges markers).
|
friend |
|
private |
|
private |