Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
C3DPointList Class Reference
Inheritance diagram for C3DPointList:
CPointList CElementArray CInstanciatedObject

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)
 
C3DPointGridMapInitSlicerMap (bool initMap, unsigned int sliceX, unsigned int sliceY, unsigned int sliceZ, unsigned int pointFlags=POINT_NONE, bool flagsSet=true)
 
C3DPointGridMapInitGridCoordMap (double distance, bool absolute)
 
WeldProximityMap * InitWeldMap (double distance, bool absolute)
 
void DeleteWeldMap (WeldProximityMap *map) const
 Free the weld map returned by InitWeldMap.
 
intGet3DProximityPoints (int index, WeldProximityMap *weldMap, int &size)
 Return the point indexes which are close to the given index. The return array should not be freed.
 
C3DPointSymetryMapInitSymetryMap (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.
 
C3DPointListoperator= (const C3DPointList &refpoints)
 
virtual CPointListoperator= (const CPointList &refpoints)
 
Access functions

Get access to the C3DPoint data contained in the array

const C3DPointGetFirst () const
 
const C3DPointGetNext (const C3DPoint *point) const
 
C3DPointGetFirst ()
 
C3DPointGetNext (C3DPoint *pointList)
 
C3DPointElementAt (int i)
 
C3DPointoperator[] (int i)
 
const C3DPointoperator[] (int i) const
 
- Public Member Functions inherited from CPointList
 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.
 
voidGetDataChunk (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 CDataChunkGetDataChunks () 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 CPtGetFirst () const
 
const CPtGetNext (const CPt *point) const
 
CPtGetFirst ()
 
CPtGetNext (CPt *pointList)
 
CPtElementAt (int i)
 
const CPtElementAt (int i) const
 
CPtoperator[] (int i)
 
const CPtoperator[] (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)
 
- Public Member Functions inherited from CInstanciatedObject
virtual bool Delete ()
 
int GetRefCount () const
 
int AddRef () const
 

Static Public Member Functions

static C3DPointListCreate (C3DPointList *srcPoints=NULL)
 Allocates and creates an empty set of 3d points. Use C3DPointList::Delete to delete it.
 

Member Function Documentation

◆ GetChecksum()

virtual unsigned int C3DPointList::GetChecksum ( unsigned int  checksumFlags = CHECKSUM_POINTS|CHECKSUM_POINTS_EXTRA) const
virtual

Return a value that is a simple way to check if the geometry changed between two call to the method.

Reimplemented from CPointList.

◆ operator=()

virtual CPointList & C3DPointList::operator= ( const CPointList refpoints)
virtual

Reimplemented from CPointList.

◆ RemoveAll()

virtual void C3DPointList::RemoveAll ( )
virtual

Reimplemented from CPointList.


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