Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

sheep::GLMeshBuilder Class Reference

#include <glmeshbuilder.h>

Inheritance diagram for sheep::GLMeshBuilder:

sheep::IMeshBuilder sheep::IMeshBuilder::IGeometryBuilder sheep::IMeshBuilder::IMaterialBuilder List of all members.

Public Types

typedef GLMesh MeshType

Public Member Functions

 GLMeshBuilder ()
virtual ~GLMeshBuilder ()
virtual IGeometryBuilder * GeometryBuilder ()
virtual IMaterialBuilder * MaterialBuilder ()
std::auto_ptr< GLMeshGetMesh ()
virtual void BeginSubMesh (const std::string &name)
virtual void EndSubMesh ()
virtual FeatureId AppendVertex (const Vector3 &v)
virtual FeatureId AppendNormal (const Vector3 &vn)
virtual FeatureId AppendTexCoord (const Vector2 &vt)
virtual FeatureId AppendFace (int n, const FeatureId *v)
virtual void SetFaceNormals (FeatureId face, int n, const FeatureId *vn)
virtual void SetFaceTexCoords (FeatureId face, int n, const FeatureId *vt)
virtual void SetMaterial (FeatureId material)
virtual FeatureId BeginMaterial (const std::string &name)
virtual void EndMaterial ()
virtual void SetAmbientColor (Real r, Real g, Real b)
virtual void SetDiffuseColor (Real r, Real g, Real b)
virtual void SetSpecularColor (Real r, Real g, Real b)
virtual void SetTexture (int w, int h, const unsigned char *texels)
 24-bit RGB format.


Private Attributes

std::auto_ptr< GLMeshm_mesh
std::vector< Material * > m_materials
GLMesh::SubMeshm_submesh
 Current sub mesh.

Materialm_material
 Current material.


Member Typedef Documentation

typedef GLMesh sheep::GLMeshBuilder::MeshType
 

Definition at line 51 of file glmeshbuilder.h.


Constructor & Destructor Documentation

GLMeshBuilder::GLMeshBuilder  ) 
 

Definition at line 34 of file glmeshbuilder.cpp.

GLMeshBuilder::~GLMeshBuilder  )  [virtual]
 

Definition at line 41 of file glmeshbuilder.cpp.

References m_submesh.


Member Function Documentation

IMeshBuilder::FeatureId GLMeshBuilder::AppendFace int  n,
const FeatureId v
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 110 of file glmeshbuilder.cpp.

References sheep::GLMesh::SubMesh::m_faces, sheep::GLMesh::SubMesh::Face::m_n0, sheep::GLMesh::SubMesh::Face::m_n1, sheep::GLMesh::SubMesh::Face::m_n2, m_submesh, sheep::GLMesh::SubMesh::Face::m_t0, sheep::GLMesh::SubMesh::Face::m_t1, sheep::GLMesh::SubMesh::Face::m_t2, sheep::GLMesh::SubMesh::Face::m_v0, sheep::GLMesh::SubMesh::Face::m_v1, and sheep::GLMesh::SubMesh::Face::m_v2.

IMeshBuilder::FeatureId GLMeshBuilder::AppendNormal const Vector3 vn  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 96 of file glmeshbuilder.cpp.

References sheep::GLMesh::SubMesh::m_normals, and m_submesh.

IMeshBuilder::FeatureId GLMeshBuilder::AppendTexCoord const Vector2 vt  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 103 of file glmeshbuilder.cpp.

References m_submesh, and sheep::GLMesh::SubMesh::m_texcoords.

IMeshBuilder::FeatureId GLMeshBuilder::AppendVertex const Vector3 v  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 89 of file glmeshbuilder.cpp.

References m_submesh, and sheep::GLMesh::SubMesh::m_vertices.

IMeshBuilder::FeatureId GLMeshBuilder::BeginMaterial const std::string &  name  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 164 of file glmeshbuilder.cpp.

References m_materials, sheep::Material::SetAmbientColor(), sheep::Material::SetDiffuseColor(), and sheep::Material::SetSpecularColor().

void GLMeshBuilder::BeginSubMesh const std::string &  name  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 65 of file glmeshbuilder.cpp.

References m_submesh.

void GLMeshBuilder::EndMaterial  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 179 of file glmeshbuilder.cpp.

void GLMeshBuilder::EndSubMesh  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 70 of file glmeshbuilder.cpp.

References sheep::GLMesh::SubMesh::GetMaterial(), m_mesh, m_submesh, sheep::Material::SetAmbientColor(), sheep::Material::SetDiffuseColor(), sheep::GLMesh::SubMesh::SetMaterial(), and sheep::Material::SetSpecularColor().

IMeshBuilder::IGeometryBuilder * GLMeshBuilder::GeometryBuilder  )  [virtual]
 

Implements sheep::IMeshBuilder.

Definition at line 51 of file glmeshbuilder.cpp.

auto_ptr< GLMesh > GLMeshBuilder::GetMesh  ) 
 

Definition at line 59 of file glmeshbuilder.cpp.

References m_mesh.

IMeshBuilder::IMaterialBuilder * GLMeshBuilder::MaterialBuilder  )  [virtual]
 

Implements sheep::IMeshBuilder.

Definition at line 55 of file glmeshbuilder.cpp.

void GLMeshBuilder::SetAmbientColor Real  r,
Real  g,
Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 184 of file glmeshbuilder.cpp.

References sheep::Real, and sheep::Material::SetAmbientColor().

void GLMeshBuilder::SetDiffuseColor Real  r,
Real  g,
Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 189 of file glmeshbuilder.cpp.

References sheep::Real, and sheep::Material::SetDiffuseColor().

void GLMeshBuilder::SetFaceNormals FeatureId  face,
int  n,
const FeatureId vn
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 129 of file glmeshbuilder.cpp.

References sheep::GLMesh::SubMesh::m_faces, sheep::GLMesh::SubMesh::Face::m_n0, sheep::GLMesh::SubMesh::Face::m_n1, sheep::GLMesh::SubMesh::Face::m_n2, and m_submesh.

void GLMeshBuilder::SetFaceTexCoords FeatureId  face,
int  n,
const FeatureId vt
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 142 of file glmeshbuilder.cpp.

References sheep::GLMesh::SubMesh::m_faces, m_submesh, sheep::GLMesh::SubMesh::Face::m_t0, sheep::GLMesh::SubMesh::Face::m_t1, and sheep::GLMesh::SubMesh::Face::m_t2.

void GLMeshBuilder::SetMaterial FeatureId  material  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 155 of file glmeshbuilder.cpp.

References m_materials, m_submesh, and sheep::GLMesh::SubMesh::SetMaterial().

void GLMeshBuilder::SetSpecularColor Real  r,
Real  g,
Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 194 of file glmeshbuilder.cpp.

References sheep::Real, and sheep::Material::SetSpecularColor().

void GLMeshBuilder::SetTexture int  w,
int  h,
const unsigned char *  texels
[virtual]
 

24-bit RGB format.

< 24-bit RGB format.

Todo:
Delete the texture somewhere.

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 199 of file glmeshbuilder.cpp.

References sheep::Material::SetTexture().


Member Data Documentation

Material* sheep::GLMeshBuilder::m_material [private]
 

Current material.

Definition at line 90 of file glmeshbuilder.h.

std::vector<Material *> sheep::GLMeshBuilder::m_materials [private]
 

Definition at line 87 of file glmeshbuilder.h.

Referenced by BeginMaterial(), and SetMaterial().

std::auto_ptr<GLMesh> sheep::GLMeshBuilder::m_mesh [private]
 

Definition at line 85 of file glmeshbuilder.h.

Referenced by EndSubMesh(), and GetMesh().

GLMesh::SubMesh* sheep::GLMeshBuilder::m_submesh [private]
 

Current sub mesh.

Definition at line 89 of file glmeshbuilder.h.

Referenced by AppendFace(), AppendNormal(), AppendTexCoord(), AppendVertex(), BeginSubMesh(), EndSubMesh(), SetFaceNormals(), SetFaceTexCoords(), SetMaterial(), and ~GLMeshBuilder().


The documentation for this class was generated from the following files:
Generated on Tue May 11 01:31:56 2004 for toxic by doxygen 1.3.6