![]() |
Polygon Crucher SDK - Documentation
Documentation
|
C3DFaceGridMap is initialized by C3DFaceList::GetFaceGridMap. More...
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>
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 C4x4Matrix & | GetTransform () 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. | |
![]() | |
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) | |
![]() | |
void | SetSize (unsigned int entries, unsigned int elementPerEntries) |
int * | Lookup (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 |
int * | GetNext (HashPos &pos, C3DPointI &entry, int &size) const |
int * | GetNext (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. | |
![]() | |
virtual bool | Delete () |
int | GetRefCount () const |
int | AddRef () const |
Additional Inherited Members | |
![]() | |
typedef CAssociationCollector< C3DPointI, int, unsigned int > | Collector |
typedef SingleCollectorEntry< C3DPointI, int > | CollectorEntry |
![]() | |
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) | |