The class deciding on whether to split an octree node or not when building the octree. More...
#include <OgreVolumeOctreeNodeSplitPolicy.h>
Public Member Functions | |
OctreeNodeSplitPolicy (const Source *src, const Real maxCellSize) | |
Constructur. More... | |
bool | doSplit (OctreeNode *node, const Real geometricError) const |
Decider for the splitting. More... | |
Protected Member Functions | |
Real | interpolate (const Real f000, const Real f001, const Real f010, const Real f011, const Real f100, const Real f101, const Real f110, const Real f111, const Vector3 &position) const |
Trilinear interpolation of a relative point. More... | |
Protected Attributes | |
Real | mMaxCellSize |
The maximum cell size where the policy stops the splitting. More... | |
const Source * | mSrc |
Holds the volume source to decide something. More... | |
The class deciding on whether to split an octree node or not when building the octree.
Splitting like Zhang in http://www.andrew.cmu.edu/user/jessicaz/publication/meshing/.
Definition at line 46 of file OgreVolumeOctreeNodeSplitPolicy.h.
Ogre::Volume::OctreeNodeSplitPolicy::OctreeNodeSplitPolicy | ( | const Source * | src, |
const Real | maxCellSize | ||
) |
Constructur.
Protected to have the initialization.
src | The volume source to decide something. |
maxCellSize | The maximum size when the splitting will stop anyway. |
bool Ogre::Volume::OctreeNodeSplitPolicy::doSplit | ( | OctreeNode * | node, |
const Real | geometricError | ||
) | const |
Decider for the splitting.
node | The split candidate. |
geometricError | The accepted geometric error. |
|
inlineprotected |
Trilinear interpolation of a relative point.
f000 | Value of the lower back left corner. |
f001 | Value of the lower front right corner. |
f010 | Value of the upper back left corner. |
f011 | Value of the upper front left corner. |
f100 | Value of the lower back right corner. |
f101 | Value of the lower back right corner. |
f110 | Value of the upper front right corner. |
f111 | Value of the upper front right corner. |
position | The relative (0-1) position to interpolate. |
Definition at line 78 of file OgreVolumeOctreeNodeSplitPolicy.h.
References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.
|
protected |
The maximum cell size where the policy stops the splitting.
Definition at line 54 of file OgreVolumeOctreeNodeSplitPolicy.h.
|
protected |
Holds the volume source to decide something.
Definition at line 51 of file OgreVolumeOctreeNodeSplitPolicy.h.