![]() |
VR-Forces Developer's Guide
|
Go to the source code of this file.
Classes | |
| class | DtOctreeNode< T > |
| class | DtOctreeMember< T > |
| class | DtSpatialSelectionFunctorTemplate< T > |
| class | DtOctreeNode< T > |
| class | DtOctree< T > |
Macros | |
| #define | OCTREE_DEBUG 0 |
| #define | DEBUG_PUSH do { } while(0) |
| #define | DEBUG_POP do { } while(0) |
| #define | EXT_FMT "[%lf, %lf, %lf] - [%lf, %lf, %lf]" |
| #define | EXT_ARGS(x) (x).minX(), (x).minY(), (x).minZ(), (x).maxX(), (x).maxY(), (x).maxZ() |
| #define | OBJ_ARGS(x) ((const char*) (x)->objectName()) |
Functions | |
| static void | DEBUG_OUTPUT (const char *fmt,...) |
Variables | |
| static const int | NUM_BRANCHES = 8 |
| static const int | MAX_BRANCH_DEPTH = 12 |
| static const int | MAX_CHILD_MEMBERS = 16 |
| static int | theBitmaskList [NUM_BRANCHES] |
| static bool | theBitmaskListCreated = false |
| #define OCTREE_DEBUG 0 |
Debugging support for octrees. Set OCTREE_DEBUG to 1 to print copious information about the important function calls, and also to run internal tests to make sure visitObjects() seems to be working properly.
| #define DEBUG_PUSH do { } while(0) |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctree< const DtSimObject >::removeObject(), DtOctreeNode< const DtSimObject >::split(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
| #define DEBUG_POP do { } while(0) |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctree< const DtSimObject >::removeObject(), DtOctreeNode< const DtSimObject >::split(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
| #define EXT_FMT "[%lf, %lf, %lf] - [%lf, %lf, %lf]" |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctreeNode< const DtSimObject >::DtOctreeNode(), DtOctreeNode< const DtSimObject >::split(), DtOctree< const DtSimObject >::updatePositions(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
| #define EXT_ARGS | ( | x | ) | (x).minX(), (x).minY(), (x).minZ(), (x).maxX(), (x).maxY(), (x).maxZ() |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctreeNode< const DtSimObject >::DtOctreeNode(), DtOctreeNode< const DtSimObject >::split(), DtOctree< const DtSimObject >::updatePositions(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
| #define OBJ_ARGS | ( | x | ) | ((const char*) (x)->objectName()) |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctree< const DtSimObject >::removeObject(), DtOctree< const DtSimObject >::updatePositions(), and DtOctreeNode< const DtSimObject >::visitObjects().
|
inlinestatic |
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::addMemberToChild(), DtOctree< const DtSimObject >::addObject(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctreeNode< const DtSimObject >::DtOctreeNode(), DtOctree< const DtSimObject >::removeObject(), DtOctreeNode< const DtSimObject >::split(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
|
static |
The number of children of each node. Don't change this without rewriting everything.
Referenced by DtOctreeNode< const DtSimObject >::addMember(), DtOctreeNode< const DtSimObject >::coalesceEmptyChildren(), DtOctree< const DtSimObject >::DtOctree(), DtOctreeNode< const DtSimObject >::numChildCandidates(), DtOctreeNode< const DtSimObject >::split(), DtOctreeNode< const DtSimObject >::visitObjects(), and DtOctreeNode< const DtSimObject >::~DtOctreeNode().
|
static |
|
static |
The maximum length of myChildMembers; see implementation notes at the top of the class.
|
static |
|
static |