28#ifndef __Ogre_Volume_OctreeNodeSplitPolicy_H__
29#define __Ogre_Volume_OctreeNodeSplitPolicy_H__
84 Real oneMinXoneMinY = oneMinX * oneMinY;
85 Real xOneMinY = position.
x * oneMinY;
86 return oneMinZ * (f000 * oneMinXoneMinY
88 + f010 * oneMinX * position.
y)
89 + position.
z * (f001 * oneMinXoneMinY
91 + f011 * oneMinX * position.
y)
92 + position.
x * position.
y * (f110 * oneMinZ
#define _OgreVolumeExport
Standard 3-dimensional vector.
The class deciding on whether to split an octree node or not when building the octree.
const Source * mSrc
Holds the volume source to decide something.
Real mMaxCellSize
The maximum cell size where the policy stops the splitting.
bool doSplit(OctreeNode *node, const Real geometricError) const
Decider for the splitting.
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.
OctreeNodeSplitPolicy(const Source *src, const Real maxCellSize)
Constructur.
A node in the volume octree.
Abstract class defining the density function.
float Real
Software floating point type.