OGRE-Next: Ogre::Volume Namespace Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::Volume Namespace Reference

## Classes
class | CacheSource
| A caching Source. More...
class | Chunk
| A single volume chunk mesh. More...
class | ChunkHandler
| Handles the WorkQueue management of the chunks. More...
struct | ChunkParameters
| Parameters for loading the volume. More...
struct | ChunkRequest
| Data being passed around while loading. More...
struct | ChunkTreeSharedData
| Internal shared values of the chunks which are equal in the whole tree. More...
class | CSGCubeSource
| A not rotated cube. More...
class | CSGDifferenceSource
| Builds the difference between two sources. More...
class | CSGIntersectionSource
| Builds the intersection between two sources. More...
class | CSGNegateSource
| Negates the given volume. More...
class | CSGNoiseSource
class | CSGOperationSource
| Abstract operation volume source holding two sources as operants. More...
class | CSGPlaneSource
| A plane. More...
class | CSGScaleSource
| Scales the given volume source. More...
class | CSGSphereSource
| A sphere. More...
class | CSGUnarySource
| Source which does a unary operation to another one. More...
class | CSGUnionSource
| Builds the union between two sources. More...
struct | DualCell
| To store the generated dual cells in a vector. More...
class | DualGridGenerator
| Class for the generation of the DualGrid. More...
class | GridSource
| A volume source from a discrete 3d grid. More...
class | HalfFloatGridSource
| A volume source from a 16 Bit float 3D grid capable of loading volume serializations. More...
class | IsoSurface
| Abstract IsoSurface. More...
class | IsoSurfaceMC
| Marching Cubes implementation like at http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/. More...
class | MeshBuilder
| Class to build up a mesh with vertices and indices. More...
class | MeshBuilderCallback
| Callback class when the user needs information about the triangles of chunks of a LOD level. More...
class | OctreeNode
| A node in the volume octree. More...
class | OctreeNodeSplitPolicy
| The class deciding on whether to split an octree node or not when building the octree. More...
class | SimplexNoise
| Simplex Noise ported from public domain Java Implementation http://webstaff.itn.liu.se/~stegu/simplexnoise/SimplexNoise.java Thanks Stefan Gustavson! More...
class | Source
| Abstract class defining the density function. More...
class | TextureSource
| A volume source from a 3D texture. More...
struct | Vertex
| Lightweight struct to represent a mesh vertex. More...

## Typedefs
typedef struct Ogre::Volume::ChunkParameters | ChunkParameters
| Parameters for loading the volume.
typedef struct Ogre::Volume::ChunkRequest | ChunkRequest
| Data being passed around while loading.
typedef struct Ogre::Volume::ChunkTreeSharedData | ChunkTreeSharedData
| Internal shared values of the chunks which are equal in the whole tree.
typedef struct _OgreVolumeExport Ogre::Volume::DualCell | DualCell
| To store the generated dual cells in a vector.
typedef vector< DualCell >::type | VecDualCell
| To hold dual cells.
typedef vector< size_t >::type | VecIndices
| To hold indices.
typedef vector< Vertex >::type | VecVertex
| To hold vertices.
typedef struct _OgreVolumeExport Ogre::Volume::Vertex | Vertex
| Lightweight struct to represent a mesh vertex.

## Functions
bool _OgreVolumeExport | operator< (const Vector3 &a, const Vector3 &b)
| A less operator.
bool _OgreVolumeExport | operator< (const Vertex &a, const Vertex &b)
| A less operator.
bool _OgreVolumeExport | operator== (Vertex const &a, Vertex const &b)
| == operator for two vertices.

## Variables
int | mcEdges [256]
| Marching Cubes tables from the public domain code found on http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ in http://paulbourke.net/geometry/polygonise/marchingsource.cpp Thanks!
int | mcTriangles [256][16]
| Triangulation lookup table.
int | msEdges [16]
int | msTriangles [18][13]

## Typedef Documentation

## ◆ ChunkParameters

typedef struct Ogre::Volume::ChunkParameters Ogre::Volume::ChunkParameters

Parameters for loading the volume.

## ◆ ChunkRequest

typedef struct Ogre::Volume::ChunkRequest Ogre::Volume::ChunkRequest

Data being passed around while loading.

## ◆ ChunkTreeSharedData

typedef struct Ogre::Volume::ChunkTreeSharedData Ogre::Volume::ChunkTreeSharedData

Internal shared values of the chunks which are equal in the whole tree.

## ◆ DualCell

typedef struct _OgreVolumeExport Ogre::Volume::DualCell Ogre::Volume::DualCell

To store the generated dual cells in a vector.

## ◆ VecDualCell

typedef vector<DualCell>::type Ogre::Volume::VecDualCell

To hold dual cells.

## ◆ VecIndices

typedef vector<size_t>::type Ogre::Volume::VecIndices

To hold indices.

## ◆ VecVertex

typedef vector<Vertex>::type Ogre::Volume::VecVertex

To hold vertices.

## ◆ Vertex

typedef struct _OgreVolumeExport Ogre::Volume::Vertex Ogre::Volume::Vertex

Lightweight struct to represent a mesh vertex.

## Function Documentation

## ◆ operator<() [1/2]

bool _OgreVolumeExport Ogre::Volume::operator< | ( | const Vector3 & | a,
|  | const Vector3 & | b )

A less operator.

Note
  This operator is needed so that Vertex can serve as the key in a map structrue

Parameters

  a | The first vector to test.
  b | The second vector to test.

References _OgreVolumeExport.

## ◆ operator<() [2/2]

bool _OgreVolumeExport Ogre::Volume::operator< | ( | const Vertex & | a,
|  | const Vertex & | b )

A less operator.

Note
  This operator is needed so that Vertex can serve as the key in a map structrue

Parameters

  a | The first vertex to test.
  b | The second vertex to test.

References _OgreVolumeExport.

## ◆ operator==()

bool _OgreVolumeExport Ogre::Volume::operator== | ( | Vertex const & | a,
|  | Vertex const & | b )

== operator for two vertices.

Parameters

  a | The first vertex to test.
  b | The second vertex to test.

References _OgreVolumeExport.

## Variable Documentation

## ◆ mcEdges

int Ogre::Volume::mcEdges[256]

Initial value:
=
{
0x000, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
0x190, 0x099, 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
0x230, 0x339, 0x033, 0x13a, 0x636, 0x73f, 0x435, 0x53c, 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
0x3a0, 0x2a9, 0x1a3, 0x0aa, 0x7a6, 0x6af, 0x5a5, 0x4ac, 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
0x460, 0x569, 0x663, 0x76a, 0x066, 0x16f, 0x265, 0x36c, 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0x0ff, 0x3f5, 0x2fc, 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x055, 0x15c, 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0x0cc, 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, 0x0cc, 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, 0x15c, 0x055, 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, 0x2fc, 0x3f5, 0x0ff, 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, 0x36c, 0x265, 0x16f, 0x066, 0x76a, 0x663, 0x569, 0x460,
0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, 0x4ac, 0x5a5, 0x6af, 0x7a6, 0x0aa, 0x1a3, 0x2a9, 0x3a0,
0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x033, 0x339, 0x230,
0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x099, 0x190,
0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x000
}

Marching Cubes tables from the public domain code found on http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ in http://paulbourke.net/geometry/polygonise/marchingsource.cpp Thanks!

Edges table.

## ◆ mcTriangles

int Ogre::Volume::mcTriangles[256][16]

Triangulation lookup table.

## ◆ msEdges

int Ogre::Volume::msEdges[16]

Initial value:
=
{
0x0,
0x9,
0x3,
0xA,
0x6,
0xF,
0x5,
0xC,
0xC,
0x5,
0xF,
0x6,
0xA,
0x3,
0x9,
0x0
}

## ◆ msTriangles

int Ogre::Volume::msTriangles[18][13]

Initial value:
=
{
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 2, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 2, 0, 7, 3, 2, -1, -1, -1, -1, -1, -1, -1},
{5, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 1, 0, 3, 5, 4, -1, -1, -1, -1, -1, -1, -1},
{1, 4, 2, 1, 5, 4, -1, -1, -1, -1, -1, -1, -1},
{0, 7, 5, 0, 5, 4, 0, 4, 2, -1, -1, -1, -1},
{7, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 5, 1, 0, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{1, 3, 2, 7, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{3, 6, 5, 3, 0, 6, 3, 2, 0, -1, -1, -1, -1},
{7, 6, 4, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1},
{3, 1, 0, 3, 0, 6, 3, 6, 4, -1, -1, -1, -1},
{2, 1, 7, 2, 7, 6, 2, 6, 4, -1, -1, -1, -1},
{6, 2, 0, 6, 4, 2, -1, -1, -1, -1, -1, -1, -1},
{1, 0, 7, 1, 7, 5, 1, 5, 4, 1, 4, 3, -1},
{1, 3, 2, 1, 5, 3, 1, 6, 5, 1, 7, 6, -1}
}