Ogre::Volume::OctreeNodeSplitPolicy Class Reference

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...

## Detailed Description

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.

## Constructor & Destructor Documentation

## OctreeNodeSplitPolicy()

Ogre::Volume::OctreeNodeSplitPolicy::OctreeNodeSplitPolicy | ( | const Source * | src,
|  | const Real | maxCellSize
| ) |  |

Constructur.

Protected to have the initialization.

Parameters

  src | The volume source to decide something.
  maxCellSize | The maximum size when the splitting will stop anyway.

## Member Function Documentation

## doSplit()

bool Ogre::Volume::OctreeNodeSplitPolicy::doSplit | ( | OctreeNode * | node,
|  | const Real | geometricError
| ) |  | const

Decider for the splitting.

Parameters

  node | The split candidate.
  geometricError | The accepted geometric error.

Returns
  true if the node should be split.

## interpolate()

Real Ogre::Volume::OctreeNodeSplitPolicy::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

protected

Trilinear interpolation of a relative point.

Parameters

  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.

Returns
  The interpolated value.

Definition at line 78 of file OgreVolumeOctreeNodeSplitPolicy.h.

References Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z.

## Member Data Documentation

## mMaxCellSize

Real Ogre::Volume::OctreeNodeSplitPolicy::mMaxCellSize

protected

The maximum cell size where the policy stops the splitting.

Definition at line 54 of file OgreVolumeOctreeNodeSplitPolicy.h.

## mSrc

const Source* Ogre::Volume::OctreeNodeSplitPolicy::mSrc

protected

Holds the volume source to decide something.

Definition at line 51 of file OgreVolumeOctreeNodeSplitPolicy.h.

The documentation for this class was generated from the following file:

- OgreVolumeOctreeNodeSplitPolicy.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.