simCheckOctreePointOccupancy
Checks whether the provided points collide with the OC tree voxels
C++ synopsis
int checkOctreePointOccupancy(int octreeHandle, int options, const double* pts, int ptCnt,
unsigned int* tag, unsigned long long int* location, void* reserved)
Arguments
- octreeHandle: handle of the OC tree
- options: bit-coded:
- bit0 set (1): specified points are relative to the OC tree reference frame, otherwise they are relative to the world reference frame
- pts: pointer to the points specified as x/y/z coordinates
- ptCnt: number of points contained in pts
- tag: pointer to a tag value, receiving the tag value of the voxel that collides with a single point. If several points are tested, then this pointer is ignored. Can be nullptr.
- location: pointer to a uint64 value, which specifies the location of the voxel that collides with a single point. If several points are tested, then this pointer is ignored. Can be nullptr. The location value is coded in following way:
- bit0 - bit5: the depth level of the voxel in the OC tree structure (1-63).
- bit6 - bit63: a triple bit-value for each depth level. triple bit-values represent the node location relative to the parent node:
- 0: (-1,-1,-1)
- 1: (+1,-1,-1)
- 2: (-1,+1,-1)
- 3: (+1,+1,-1)
- 4: (-1,-1,+1)
- 5: (+1,-1,+1)
- 6: (-1,+1,+1)
- 7: (+1,+1,+1)
- reserved: reserved for future extensions. Set to nullptr
Return
- -1 if operation was not successful, 0 if the points do not collide with the voxels, 1 if the points collide with the voxels
See also:
|