![]() |
Polygon Crucher SDK - Documentation
Documentation
|
CPointList is the base class for different classes (C3DPointList, CUVWPointList...) that contains data such points, uvw, vectors... More...
CPointList is the base class for different classes (C3DPointList, CUVWPointList...) that contains data such points, uvw, vectors...
CPointList offers all methods to get/set the points, to modify them and associates any kind of data to points. CPointList includes different relationship graph to find easily who is connected with who.
#include <PointList.h>
Public Member Functions | |
CPointList (CPointList *srcPoints) | |
Creates a new point array. When srcPoints is provided, the data structure (datachunks) is inherited but the point list is created empty. | |
int | SetGrowFactor (int nGrowBy) |
void | PreAllocate (int size, bool constructAllElementsOnce=false) |
virtual void | SetSize (int size, bool growOnly=false, int growSize=CElementArray::GROW_KEEP_MODE) |
growOnly = false means that memory block is shrink down if specified size is below existing size. growSize defines the way memory size increases when resizing the point array. | |
virtual void | RemoveAll () |
void | FreeExtra () |
bool | RemoveDataChunk (DataChunkID channel) |
Remove the data chunk specified by its id. | |
unsigned int | AddDataChunk (DataChunkID dataid, CElementMethods *methods) |
Add a data chunk defined by an id and methods which give the way to construct / destroy the data chunk data. | |
void * | GetDataChunk (DataChunkID id, unsigned int index) const |
Return the data chunk for index point. The returned data can be cast accordingly giving the data chunk id. | |
void | AppendDataChunks (CPointList *srcPoints, bool copyEmpty=true) |
Copy the data chunks that exists in the provided srcPoints list. If copyEmpty = true, the data chunk are created empty. Otherwise they are copied from the source point list. | |
const CDataChunk & | GetDataChunks () const |
Return the number of data chunk in the face list. | |
unsigned int | GetDataChunkNbr () const |
Return the class that handles the data chunks. | |
SIZET | GetSizeOfData (DataChunkID id) const |
Return the data size of one element of the given data chunk. | |
const CPt * | GetFirst () const |
const CPt * | GetNext (const CPt *point) const |
CPt * | GetFirst () |
CPt * | GetNext (CPt *pointList) |
CPt * | ElementAt (int i) |
const CPt * | ElementAt (int i) const |
CPt * | operator[] (int i) |
const CPt * | operator[] (int i) const |
bool | CopyPoint (int dstindex, int srcindex) |
bool | CopyPoint (int dstindex, int srcindex, const CPointList &srcpointlist) |
bool | Clean (CFaceList *faces, CXUIntArray *newpointindex=NULL) |
bool | Reorder (const unsigned int *reforder, unsigned int size, bool moveToDestinationIndexes) |
void | SetFlag (POINTLIST_PROPERTIES flag, bool set) |
bool | IsFlagSet (POINTLIST_PROPERTIES flag) const |
unsigned int | GetChangedStamp () const |
Return a value that can be used to know if the list changed (value changed each time POINTLIST_HAS_CHANGED set) | |
unsigned int | GetPointFlags (unsigned int index) const |
bool | IsPointFlagSet (unsigned int index, POINT_PROPERTIES flag) const |
bool | CheckPointFlags (unsigned int index, unsigned int checkflags, bool allSetOrNoneSet) const |
void | SetPointFlag (unsigned int index, POINT_PROPERTIES flag, bool set) |
void | SetPointFlags (unsigned int index, unsigned int refflags, bool set) |
bool | IsPointOneFlagSet (unsigned int index, unsigned int refflags) const |
void | SetPointsFlags (unsigned int flags, bool set) |
void | SetBorderPointsStatus (CEdgeGraph &edgeGraph, bool initPC2BP=false) |
void | Set3DCornerPointsStatus (CFaceList *faces, double radianAngle) |
void | SetInvalidPoints (CFaceList &facelist, bool keepExistingInvalidPoints) |
void | SavePointsIndex () |
unsigned int | GetOriginalIndex (unsigned int index) const |
int | GetNumberOfPoints (POINT_PROPERTIES, bool set) |
int | GetNumberOfPoints (unsigned int properties, bool set) |
virtual unsigned int | GetChecksum (unsigned int checksumFlags=CHECKSUM_POINTS|CHECKSUM_POINTS_EXTRA) const |
Return a value that is a simple way to check if the geometry changed between two call to the method. | |
virtual void | Inherit (const CPointList &refpoints) |
virtual void | Serialize (CXArchive &ar) |
virtual CPointList & | operator= (const CPointList &refpoints) |
SIZET | GetSizeOfElement () const |
int | GetSize () const |
void | SetAt (int nIndex, const void *newElement) |
void | SetAtGrow (int nIndex, const void *newElement, int nGrowBy=GROW_KEEP_MODE) |
int | Add (const void *newElement, int nGrowBy=GROW_KEEP_MODE) |
![]() | |
virtual bool | Delete () |
int | GetRefCount () const |
int | AddRef () const |
|
virtual |
Return a value that is a simple way to check if the geometry changed between two call to the method.
Reimplemented in C3DPointList, CUVWPointList, CVCPointList, and CWeightPointList.
constructAllElements means that size elements are constructed (even if they are not used)
this can be used when maintaining a point list that have (0 to size) elements avoiding a repeated construction/destruction
Reimplemented from CElementArray.
Reimplemented from CElementArray.
|
virtual |
growOnly = false means that memory block is shrink down if specified size is below existing size. growSize defines the way memory size increases when resizing the point array.
Reimplemented from CElementArray.