public

Inheritance Graph

graph BT
	MeshBuilder
	MeshBuilder --> ReferenceCounter
	click MeshBuilder "classRendering_1_1MeshUtils_1_1MeshBuilder"
	click ReferenceCounter "classUtil_1_1ReferenceCounter"

Description

Utility class that allows building meshes

Public Static Functions

   
   
Mesh * createBox(const VertexDescription & vd, const Geometry::Box & box)
Deprecated.
   
void addBox( MeshBuilder & mb, const Geometry::Box & box)
Deprecated.
   
Mesh * createDome(const double radius, const int horiRes, const int vertRes, const double halfSphereFraction, const double imagePercentage)
Deprecated.
   
Mesh * createSphere(const VertexDescription & vd, uint32_t inclinationSegments, uint32_t azimuthSegments)
Deprecated.
   
void addSphere( MeshBuilder & mb, const Geometry::Sphere_f & sphere, uint32_t inclinationSegments, uint32_t azimuthSegments)
Deprecated.
   
Mesh * createDiscSector(float radius, uint8_t numSegments, float angle)
Deprecated.
   
Mesh * createRingSector(float innerRadius, float outerRadius, uint8_t numSegments, float angle)
Deprecated.
   
Mesh * createCone(float radius, float height, uint8_t numSegments)
Deprecated.
   
Mesh * createConicalFrustum(float radiusBottom, float radiusTop, float height, uint8_t numSegments)
Deprecated.
   
Mesh * createArrow(float radius, float length)
Deprecated.
   
Mesh * createRectangle(const VertexDescription & vd, float width, float height)
Deprecated.
   
Mesh * createMeshFromBitmaps(const VertexDescription & vd, Util::Reference < Util::Bitmap > depth, Util::Reference < Util::Bitmap > color, Util::Reference < Util::Bitmap > normals)
Deprecated.
   
Mesh * createHexGrid(const VertexDescription & vd, float width, float height, uint32_t rows, uint32_t columns)
Deprecated.
   
Mesh * createVoxelMesh(const VertexDescription & vd, const Util::PixelAccessor & colorAcc, uint32_t depth)
Deprecated.
   
Mesh * createTorus(const VertexDescription & vd, float innerRadius, float outerRadius, uint32_t majorSegments, uint32_t minorSegments)
Deprecated.
   
void addTorus( MeshBuilder & mb, float innerRadius, float outerRadius, uint32_t majorSegments, uint32_t minorSegments)
Deprecated.

Public Functions

   
   
  MeshBuilder()
   
  MeshBuilder( VertexDescription description)
   
  ~MeshBuilder()
   
bool isEmpty() const
   
Mesh * buildMesh()
Build a new mesh using the internal vertex and index buffer.
   
void position(const Geometry::Vec2 & v, const Util::StringIdentifier & attr)
   
void position(const Geometry::Vec3f & v, const Util::StringIdentifier & attr)
   
void position(const Geometry::Vec4 & v, const Util::StringIdentifier & attr)
   
void normal(const Geometry::Vec3f & n, const Util::StringIdentifier & attr)
   
void normal(const Geometry::Vec3b & n, const Util::StringIdentifier & attr)
   
void normal(const Geometry::Vec4 & n, const Util::StringIdentifier & attr)
   
void color(const Util::Color4f & c, const Util::StringIdentifier & attr)
   
void color(const Util::Color4ub & c, const Util::StringIdentifier & attr)
   
void texCoord0(const Geometry::Vec2 & uv, const Util::StringIdentifier & attr)
   
void values(const std::vector< float > & v, const Util::StringIdentifier & attr)
   
void values(const std::vector< uint32_t > & v, const Util::StringIdentifier & attr)
   
void value(float v, const Util::StringIdentifier & attr)
   
void value(uint32_t v, const Util::StringIdentifier & attr)
   
uint32_t addVertex()
   
uint32_t addVertex(const Geometry::Vec3 & pos, const Geometry::Vec3 & n, float r, float g, float b, float a, float u, float v)
   
void addIndex(uint32_t idx)
   
void addQuad(uint32_t idx0, uint32_t idx1, uint32_t idx2, uint32_t idx3)
   
void addTriangle(uint32_t idx0, uint32_t idx1, uint32_t idx2)
   
uint32_t getNextIndex() const
   
void addMesh( Mesh * mesh)
Add entire mesh to meshBuilder.
   
Geometry::Matrix4x4 getTransformation() const
Get the current transformation.
   
void setTransformation(const Geometry::Matrix4x4 & m)
The transformation is applied to following ‘position’ and ‘normal’ calls.
   
void setTransformation(const Geometry::SRT & s)
   
void transform(const Geometry::Matrix4x4 & m)
Multiply on current transform.

Documentation

function
Rendering::MeshUtils::MeshBuilder::createBox

public static
     
     
Mesh * createBox( const VertexDescription & vd,
  const Geometry::Box & box
)    

Deprecated.

See also: MeshUtils::createBox (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:72


function
Rendering::MeshUtils::MeshBuilder::addBox

public static
     
     
void addBox( MeshBuilder & mb,
  const Geometry::Box & box
)    

Deprecated.

See also: MeshUtils::addBox (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:74


function
Rendering::MeshUtils::MeshBuilder::createDome

public static
     
     
Mesh * createDome( const double radius,
  const int horiRes,
  const int vertRes,
  const double halfSphereFraction,
  const double imagePercentage
)    

Deprecated.

See also: MeshUtils::createDome (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:76


function
Rendering::MeshUtils::MeshBuilder::createSphere

public static
     
     
Mesh * createSphere( const VertexDescription & vd,
  uint32_t inclinationSegments,
  uint32_t azimuthSegments
)    

Deprecated.

See also: MeshUtils::createSphere (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:78


function
Rendering::MeshUtils::MeshBuilder::addSphere

public static
     
     
void addSphere( MeshBuilder & mb,
  const Geometry::Sphere_f & sphere,
  uint32_t inclinationSegments,
  uint32_t azimuthSegments
)    

Deprecated.

See also: MeshUtils::addSphere (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:80


function
Rendering::MeshUtils::MeshBuilder::createDiscSector

public static
     
     
Mesh * createDiscSector( float radius,
  uint8_t numSegments,
  float angle
)    

Deprecated.

See also: MeshUtils::createDiscSector (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:82


function
Rendering::MeshUtils::MeshBuilder::createRingSector

public static
     
     
Mesh * createRingSector( float innerRadius,
  float outerRadius,
  uint8_t numSegments,
  float angle
)    

Deprecated.

See also: MeshUtils::createRingSector (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:84


function
Rendering::MeshUtils::MeshBuilder::createCone

public static
     
     
Mesh * createCone( float radius,
  float height,
  uint8_t numSegments
)    

Deprecated.

See also: MeshUtils::createCone (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:86


function
Rendering::MeshUtils::MeshBuilder::createConicalFrustum

public static
     
     
Mesh * createConicalFrustum( float radiusBottom,
  float radiusTop,
  float height,
  uint8_t numSegments
)    

Deprecated.

See also: MeshUtils::createConicalFrustum (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:88


function
Rendering::MeshUtils::MeshBuilder::createArrow

public static
     
     
Mesh * createArrow( float radius,
  float length
)    

Deprecated.

See also: MeshUtils::createArrow (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:90


function
Rendering::MeshUtils::MeshBuilder::createRectangle

public static
     
     
Mesh * createRectangle( const VertexDescription & vd,
  float width,
  float height
)    

Deprecated.

See also: MeshUtils::createRectangle (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:92


function
Rendering::MeshUtils::MeshBuilder::createMeshFromBitmaps

public static
     
     
Mesh * createMeshFromBitmaps( const VertexDescription & vd,
  Util::Reference < Util::Bitmap > depth,
  Util::Reference < Util::Bitmap > color,
  Util::Reference < Util::Bitmap > normals
)    

Deprecated.

See also: MeshUtils::createMeshFromBitmaps (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:94


function
Rendering::MeshUtils::MeshBuilder::createHexGrid

public static
     
     
Mesh * createHexGrid( const VertexDescription & vd,
  float width,
  float height,
  uint32_t rows,
  uint32_t columns
)    

Deprecated.

See also: MeshUtils::createHexGrid (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:96


function
Rendering::MeshUtils::MeshBuilder::createVoxelMesh

public static
     
     
Mesh * createVoxelMesh( const VertexDescription & vd,
  const Util::PixelAccessor & colorAcc,
  uint32_t depth
)    

Deprecated.

See also: MeshUtils::createVoxelMesh (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:98


function
Rendering::MeshUtils::MeshBuilder::createTorus

public static
     
     
Mesh * createTorus( const VertexDescription & vd,
  float innerRadius,
  float outerRadius,
  uint32_t majorSegments,
  uint32_t minorSegments
)    

Deprecated.

See also: MeshUtils::createTorus (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:100


function
Rendering::MeshUtils::MeshBuilder::addTorus

public static
     
     
void addTorus( MeshBuilder & mb,
  float innerRadius,
  float outerRadius,
  uint32_t majorSegments,
  uint32_t minorSegments
)    

Deprecated.

See also: MeshUtils::addTorus (…)

Defined in Rendering/MeshUtils/MeshBuilder.h:102


function
Rendering::MeshUtils::MeshBuilder::MeshBuilder

public
   
   
MeshBuilder( )

Defined in Rendering/MeshUtils/MeshBuilder.h:105


function
Rendering::MeshUtils::MeshBuilder::MeshBuilder

public explicit
     
     
MeshBuilder( VertexDescription description )

Defined in Rendering/MeshUtils/MeshBuilder.h:106


function
Rendering::MeshUtils::MeshBuilder::~MeshBuilder

public
   
   
~MeshBuilder( )

Defined in Rendering/MeshUtils/MeshBuilder.h:107


function
Rendering::MeshUtils::MeshBuilder::isEmpty

public const inline
   
   
bool isEmpty( ) const

true if no no vertices were added so far.

Defined in Rendering/MeshUtils/MeshBuilder.h:110


function
Rendering::MeshUtils::MeshBuilder::buildMesh

public
   
   
Mesh * buildMesh( )

Build a new mesh using the internal vertex and index buffer.

Defined in Rendering/MeshUtils/MeshBuilder.h:113


function
Rendering::MeshUtils::MeshBuilder::position

public
     
     
void position( const Geometry::Vec2 & v,
  const Util::StringIdentifier & attr
)    

Sets the current vertex data for the following vertices (like a state in OpenGL). If a tranformation is set, the position and normal are transformed accordingly before being set.

Defined in Rendering/MeshUtils/MeshBuilder.h:117


function
Rendering::MeshUtils::MeshBuilder::position

public
     
     
void position( const Geometry::Vec3f & v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:118


function
Rendering::MeshUtils::MeshBuilder::position

public
     
     
void position( const Geometry::Vec4 & v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:119


function
Rendering::MeshUtils::MeshBuilder::normal

public
     
     
void normal( const Geometry::Vec3f & n,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:120


function
Rendering::MeshUtils::MeshBuilder::normal

public
     
     
void normal( const Geometry::Vec3b & n,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:121


function
Rendering::MeshUtils::MeshBuilder::normal

public
     
     
void normal( const Geometry::Vec4 & n,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:122


function
Rendering::MeshUtils::MeshBuilder::color

public
     
     
void color( const Util::Color4f & c,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:123


function
Rendering::MeshUtils::MeshBuilder::color

public
     
     
void color( const Util::Color4ub & c,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:124


function
Rendering::MeshUtils::MeshBuilder::texCoord0

public
     
     
void texCoord0( const Geometry::Vec2 & uv,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:125


function
Rendering::MeshUtils::MeshBuilder::values

public
     
     
void values( const std::vector< float > & v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:126


function
Rendering::MeshUtils::MeshBuilder::values

public
     
     
void values( const std::vector< uint32_t > & v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:127


function
Rendering::MeshUtils::MeshBuilder::value

public
     
     
void value( float v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:128


function
Rendering::MeshUtils::MeshBuilder::value

public
     
     
void value( uint32_t v,
  const Util::StringIdentifier & attr
)    

Defined in Rendering/MeshUtils/MeshBuilder.h:129


function
Rendering::MeshUtils::MeshBuilder::addVertex

public
   
   
uint32_t addVertex( )

Add a vertex with the current data (set by position(…),normal(…) etc.). The index of the new vertex is returned.

Defined in Rendering/MeshUtils/MeshBuilder.h:133


function
Rendering::MeshUtils::MeshBuilder::addVertex

public
     
     
uint32_t addVertex( const Geometry::Vec3 & pos,
  const Geometry::Vec3 & n,
  float r,
  float g,
  float b,
  float a,
  float u,
  float v
)    

Add a vertex to the internal buffer. The index of the new vertex is returned. deprecated!!!!!

Defined in Rendering/MeshUtils/MeshBuilder.h:136


function
Rendering::MeshUtils::MeshBuilder::addIndex

public
     
     
void addIndex( uint32_t idx )

Add a index to the interal buffer

Defined in Rendering/MeshUtils/MeshBuilder.h:141


function
Rendering::MeshUtils::MeshBuilder::addQuad

public
     
     
void addQuad( uint32_t idx0,
  uint32_t idx1,
  uint32_t idx2,
  uint32_t idx3
)    

Adds a quad to the internal buffer, clockwise.

Defined in Rendering/MeshUtils/MeshBuilder.h:144


function
Rendering::MeshUtils::MeshBuilder::addTriangle

public
     
     
void addTriangle( uint32_t idx0,
  uint32_t idx1,
  uint32_t idx2
)    

Adds a three indices

Defined in Rendering/MeshUtils/MeshBuilder.h:147


function
Rendering::MeshUtils::MeshBuilder::getNextIndex

public const inline
   
   
uint32_t getNextIndex( ) const

Get current vertex count which is the index of next vertex added.

Defined in Rendering/MeshUtils/MeshBuilder.h:150


function
Rendering::MeshUtils::MeshBuilder::addMesh

public
     
     
void addMesh( Mesh * mesh )

Add entire mesh to meshBuilder.

Defined in Rendering/MeshUtils/MeshBuilder.h:153


function
Rendering::MeshUtils::MeshBuilder::getTransformation

public const
   
   
Geometry::Matrix4x4 getTransformation( ) const

Get the current transformation.

Defined in Rendering/MeshUtils/MeshBuilder.h:156


function
Rendering::MeshUtils::MeshBuilder::setTransformation

public
     
     
void setTransformation( const Geometry::Matrix4x4 & m )

The transformation is applied to following ‘position’ and ‘normal’ calls.

Defined in Rendering/MeshUtils/MeshBuilder.h:159


function
Rendering::MeshUtils::MeshBuilder::setTransformation

public
     
     
void setTransformation( const Geometry::SRT & s )

Defined in Rendering/MeshUtils/MeshBuilder.h:160


function
Rendering::MeshUtils::MeshBuilder::transform

public
     
     
void transform( const Geometry::Matrix4x4 & m )

Multiply on current transform.

Defined in Rendering/MeshUtils/MeshBuilder.h:163