![]() |
Polygon Crucher SDK - Documentation
Documentation
|
Public Member Functions | |
C3DPointList (C3DPointList *srcPoints=NULL) | |
virtual | ~C3DPointList () |
Use Delete instead, unless the C3DPointList is created on the stack (take care that it is referenced once only in this case) | |
virtual void | RemoveAll () |
bool | SwapCoordinates (unsigned int swap) |
bool | MatrixTransform (const C4x4Matrix &matrix, POINT_PROPERTIES property=POINT_NONE, bool set=TRUE, int index=0, int count=-1) |
void | InitPointMaterialGraph (const CGeomInfo *info) |
void | DeletePointMaterialGraph () |
bool | InitShareSeveralMaterialsFlag () |
int | GetNumberOfMaterialsConnectedToPoint (int ptindex) |
MaterialID * | GetMaterialsConnectedToPoint (int ptindex, int &size) |
C3DPointGridMap * | InitSlicerMap (bool initMap, unsigned int sliceX, unsigned int sliceY, unsigned int sliceZ, unsigned int pointFlags=POINT_NONE, bool flagsSet=true) |
C3DPointGridMap * | InitGridCoordMap (double distance, bool absolute) |
WeldProximityMap * | InitWeldMap (double distance, bool absolute) |
void | DeleteWeldMap (WeldProximityMap *map) const |
Free the weld map returned by InitWeldMap. | |
int * | Get3DProximityPoints (int index, WeldProximityMap *weldMap, int &size) |
Return the point indexes which are close to the given index. The return array should not be freed. | |
C3DPointSymetryMap * | InitSymetryMap (AXIS_INFO symetry, double precision=FLOAT_EPSILON) |
void | InitShareCoplanarFacesFlag (const CGeomInfo *info, double maxAngle) |
unsigned int | Set2DCornerPointsStatus (CEdgeGraph &graph, double radianAngle) |
unsigned int | Set3DCornerPointsStatus (CFaceList *faces, double radianAngle) |
double | GetCompacityFactor (const int *indexes) const |
indexes is an array of 3 point indexes | |
bool | GetNormal (const int *indexes, C3DVector &normal) const |
indexes is an array of 3 point indexes | |
C3DPoint | GetCenterOfBoundingBox () |
bool | GetObjectBoundingBox (C3DPoint *bbox8Pts, unsigned int flags=POINT_NONE, bool set=true, C4x4Matrix *matrix=NULL) |
Compute OBB bounding box. bbox8Pts are the returned eight corners of the bounding box that are transformed by matrix if any provided. | |
bool | GetBoundingBox (C3DBBox &bbox, unsigned int flags=POINT_NONE, bool set=false, C4x4Matrix *matrix=NULL) |
bool | GetBoundingBox (C3DPoint &min, C3DPoint &max, unsigned int flags=POINT_NONE, bool set=true, C4x4Matrix *matrix=NULL) |
Compute AABB bounding box. Points are transformed by matrix if any provided. | |
void | NoisyWaveFunc (const C3DPoint &upperleft, const C3DVector &length, double amplitude, double wavelength, double phase, POINT_PROPERTIES property=POINT_NONE, bool set=TRUE) |
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. | |
C3DPointList & | operator= (const C3DPointList &refpoints) |
virtual CPointList & | operator= (const CPointList &refpoints) |
Access functions | |
Get access to the C3DPoint data contained in the array | |
const C3DPoint * | GetFirst () const |
const C3DPoint * | GetNext (const C3DPoint *point) const |
C3DPoint * | GetFirst () |
C3DPoint * | GetNext (C3DPoint *pointList) |
C3DPoint * | ElementAt (int i) |
C3DPoint * | operator[] (int i) |
const C3DPoint * | operator[] (int i) const |
![]() | |
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. | |
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 void | Inherit (const CPointList &refpoints) |
virtual void | Serialize (CXArchive &ar) |
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 |
Static Public Member Functions | |
static C3DPointList * | Create (C3DPointList *srcPoints=NULL) |
Allocates and creates an empty set of 3d points. Use C3DPointList::Delete to delete it. | |
|
virtual |
Return a value that is a simple way to check if the geometry changed between two call to the method.
Reimplemented from CPointList.
|
virtual |
Reimplemented from CPointList.
Reimplemented from CPointList.