Polygon Crucher SDK - Documentation
Documentation
Loading...
Searching...
No Matches
C3DFaceGridMap Class Reference

C3DFaceGridMap is initialized by C3DFaceList::GetFaceGridMap. More...

Detailed Description

C3DFaceGridMap is initialized by C3DFaceList::GetFaceGridMap.

It allows to perform fast ray casting or retrieve the closest face giving a point. Giving a point, it return a face index list of the faces which are in the voxel where is located the point.

#include <3DFaceList.h>

Inheritance diagram for C3DFaceGridMap:
C3DPointGridMap CInstanciatedObject CAssociationMap< C3DPointI, int, unsigned int >

Public Member Functions

 C3DFaceGridMap (CGeomInfo *info, unsigned int faceGridFlags)
 Init grid. info contains points and faces list. voxelCountMultiplicationFactor multiply the default number of grid voxel.
 
ThreadInfo * BeginThread (bool forceSingleThread=false)
 Parallel support for GetClosestFace, GetRayCastFace, GetRayCastFace2.
 
void EndThread ()
 
unsigned int GetFlags () const
 return flags used for creating the C3DPointGridMap
 
C3DBBox GetBBox () const
 Return the bounding box of the face list using for creating the grid map.
 
const C4x4MatrixGetTransform () const
 Return the matrix used to transform the point of the face grid map.
 
unsigned int GetCellNbr () const
 Return the total number of cells that have been defined automatically depending on the input face list.
 
- Public Member Functions inherited from C3DPointGridMap
void GetVoxelSize (C3DPointD &voxel) const
 
template<typename TYPE >
void ConvertToLongIntCoord (const C3DTPoint< TYPE > &pt, longint *intcoord) const
 
template<typename TYPE >
void ConvertToIntCoord (const C3DTPoint< TYPE > &pt, C3DPointI &intcoord) const
 
template<typename TYPE >
void ConvertToCheckedIntCoord (const C3DTPoint< TYPE > &pt, C3DPointI &intcoord) const
 
template<typename TYPE >
void ConvertFromIntCoord (const C3DPointI &intcoord, C3DTPoint< TYPE > &pt) const
 
int XYZToIntCoord (double coordinate, int index) const
 index: 0, 1 or 2 [x, y or z]
 
int XToIntCoord (double coordinate) const
 
int YToIntCoord (double coordinate) const
 
int ZToIntCoord (double coordinate) const
 
double XYZFromIntCoord (int intcoord, int index) const
 index: 0, 1 or 2 [x, y or z]
 
double XFromIntCoord (int intcoord) const
 
double YFromIntCoord (int intcoord) const
 
double ZFromIntCoord (int intcoord) const
 
double GetMaxDistance (unsigned char XYZ=0) const
 Return the max distance between two points when using Get3DProximityPoints (cf note in C3DPointGridMap // Get3DProximityPoints)
 
- Public Member Functions inherited from CAssociationMap< C3DPointI, int, unsigned int >
void SetSize (unsigned int entries, unsigned int elementPerEntries)
 
intLookup (const C3DPointI &entry, int &size) const
 Giving a key return an array with the associates data and the number of element in that array.
 
bool IsFound (const C3DPointI &entry) const
 Returns true if a key is found in the association map.
 
void Remove (const C3DPointI &entry)
 Remove a key and its association from the map.
 
bool MoveTo (const C3DPointI &from, const C3DPointI &to)
 Move a from association key to a destination key and associates the from values to the destination key.
 
void AddAssociation (const C3DPointI &entry, const int &element)
 
bool RemoveAssociation (const C3DPointI &refentry)
 
HashPos GetFirst () const
 
intGetNext (HashPos &pos, C3DPointI &entry, int &size) const
 
intGetNext (HashPos &pos, C3DPointI *&entry, int &size) const
 
unsigned int GetSize () const
 return the number of key values in the association map
 
bool FreeExtra ()
 
void Free ()
 
void Copy (const CAssociationMap< C3DPointI, int, unsigned int > &refAssociationMap)
 
CAssociationMap< C3DPointI, int, unsigned int, COLLTYPE > & operator= (const CAssociationMap< C3DPointI, int, unsigned int, COLLTYPE > &refAssociationMap)
 
void Convert (CAssociationCollector< C3DPointI, int, unsigned int > &collector)
 Init the association map from a CAssociationCollector.
 
void Convert (CSingleAssociationCollector< C3DPointI, int, unsigned int > &collector)
 Init the association map from a CSingleAssociationCollector.
 
- Public Member Functions inherited from CInstanciatedObject
virtual bool Delete ()
 
int GetRefCount () const
 
int AddRef () const
 

Additional Inherited Members

- Public Types inherited from CAssociationMap< C3DPointI, int, unsigned int >
typedef CAssociationCollector< C3DPointI, int, unsigned intCollector
 
typedef SingleCollectorEntry< C3DPointI, intCollectorEntry
 
- Static Public Member Functions inherited from C3DPointGridMap
static DLL_3DFUNCTION double GetAbsoluteDistance (double threshold, const C3DBBox &bboxCorner)
 Return the absolute distance to use to construct C3DPointGridMap based on a threshold value between 0.0 and 1.0 and giving the object bounding box corners.
 
static DLL_3DFUNCTION double GetMaxDistance (double threshold, const C3DBBox &bboxCorner)
 Return the max distance between two points considered to be equal (returned by Get3DProximityPoints)
 

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