OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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. More...
 
typedef struct
Ogre::Volume::ChunkRequest 
ChunkRequest
 Data being passed around while loading. More...
 
typedef struct
Ogre::Volume::ChunkTreeSharedData 
ChunkTreeSharedData
 Internal shared values of the chunks which are equal in the whole tree. More...
 
typedef struct
_OgreVolumeExport
Ogre::Volume::DualCell 
DualCell
 To store the generated dual cells in a vector. More...
 
typedef vector< DualCell >::type VecDualCell
 To hold dual cells. More...
 
typedef vector< size_t >::type VecIndices
 To hold indices. More...
 
typedef vector< Vertex >::type VecVertex
 To hold vertices. More...
 
typedef struct
_OgreVolumeExport
Ogre::Volume::Vertex 
Vertex
 Lightweight struct to represent a mesh vertex. More...
 

Functions

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

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! More...
 
int mcTriangles [256][16]
 Triangulation lookup table. More...
 
int msEdges [16]
 
int msTriangles [18][13]
 

Typedef Documentation

Parameters for loading the volume.

Data being passed around while loading.

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

To store the generated dual cells in a vector.

To hold dual cells.

Definition at line 61 of file OgreVolumeDualGridGenerator.h.

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

To hold indices.

Definition at line 102 of file OgreVolumeMeshBuilder.h.

To hold vertices.

Definition at line 98 of file OgreVolumeMeshBuilder.h.

Lightweight struct to represent a mesh vertex.

Function Documentation

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
aThe first vector to test.
bThe second vector to test.
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
aThe first vertex to test.
bThe second vertex to test.
bool _OgreVolumeExport Ogre::Volume::operator== ( Vertex const &  a,
Vertex const &  b 
)

== operator for two vertices.

Parameters
aThe first vertex to test.
bThe second vertex to test.

Variable Documentation

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.

Definition at line 43 of file OgreVolumeIsoSurfaceTablesMC.h.

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

Triangulation lookup table.

Definition at line 65 of file OgreVolumeIsoSurfaceTablesMC.h.

int Ogre::Volume::msEdges[16]
Initial value:
=
{
0x0,
0x9,
0x3,
0xA,
0x6,
0xF,
0x5,
0xC,
0xC,
0x5,
0xF,
0x6,
0xA,
0x3,
0x9,
0x0
}

Definition at line 334 of file OgreVolumeIsoSurfaceTablesMC.h.

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

Definition at line 363 of file OgreVolumeIsoSurfaceTablesMC.h.