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

toxic::MeshBuilder Class Reference

#include <meshbuilder.h>

Inheritance diagram for toxic::MeshBuilder:

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

Public Types

typedef Mesh MeshType
typedef std::vector< Mesh * > MeshVector

Public Member Functions

 MeshBuilder (const sheep::Matrix4 &m, const ISurfaceShader *surface_shader, IObject::IntersectionMask intersection_mask=IObject::INTERSECT_ALL_RAYS)
virtual ~MeshBuilder ()
virtual IMeshBuilder::IGeometryBuilderGeometryBuilder ()
virtual IMeshBuilder::IMaterialBuilderMaterialBuilder ()
MeshVector GetMeshes () const
virtual void BeginSubMesh (const std::string &name)
virtual void EndSubMesh ()
virtual FeatureId AppendVertex (const sheep::Vector3 &v)
virtual FeatureId AppendNormal (const sheep::Vector3 &vn)
virtual FeatureId AppendTexCoord (const sheep::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 (sheep::Real r, sheep::Real g, sheep::Real b)
virtual void SetDiffuseColor (sheep::Real r, sheep::Real g, sheep::Real b)
virtual void SetSpecularColor (sheep::Real r, sheep::Real g, sheep::Real b)
virtual void SetTexture (int w, int h, const unsigned char *texels)
 24-bit RGB format.


Private Attributes

sheep::Matrix4 m_m
const ISurfaceShaderm_surface_shader
IObject::IntersectionMask m_intersection_mask
MeshVector m_meshes
std::vector< const ISurfaceShader * > m_surface_shaders
Color3 m_diffuse_color
const Map2m_texture_map

Member Typedef Documentation

typedef Mesh toxic::MeshBuilder::MeshType
 

Definition at line 63 of file meshbuilder.h.

typedef std::vector<Mesh *> toxic::MeshBuilder::MeshVector
 

Definition at line 64 of file meshbuilder.h.

Referenced by GetMeshes(), toxic::SceneBuilder::mesh_builder(), and toxic::SceneBuilder::object_builder().


Constructor & Destructor Documentation

MeshBuilder::MeshBuilder const sheep::Matrix4 m,
const ISurfaceShader surface_shader,
IObject::IntersectionMask  intersection_mask = IObject::INTERSECT_ALL_RAYS
 

'm' is the object space to world space transformation matrix. If 'surface_shader' is set to 0, materials described in the mesh file will be used. Otherwise, the specified material will be assigned to every submesh.

Parameters:
surface_shader  May be 0.

Definition at line 37 of file meshbuilder.cpp.

MeshBuilder::~MeshBuilder  )  [virtual]
 

Definition at line 47 of file meshbuilder.cpp.


Member Function Documentation

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

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 87 of file meshbuilder.cpp.

References m_meshes.

IMeshBuilder::FeatureId MeshBuilder::AppendNormal const sheep::Vector3 vn  )  [virtual]
 

Definition at line 77 of file meshbuilder.cpp.

References sheep::Vector3::IsUnitLength(), and m_meshes.

IMeshBuilder::FeatureId MeshBuilder::AppendTexCoord const sheep::Vector2 vt  )  [virtual]
 

Definition at line 83 of file meshbuilder.cpp.

References m_meshes.

IMeshBuilder::FeatureId MeshBuilder::AppendVertex const sheep::Vector3 v  )  [virtual]
 

Definition at line 73 of file meshbuilder.cpp.

References m_meshes.

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

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 117 of file meshbuilder.cpp.

References m_texture_map.

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

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 67 of file meshbuilder.cpp.

References m_meshes.

void MeshBuilder::EndMaterial  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 122 of file meshbuilder.cpp.

References m_diffuse_color, and m_texture_map.

void MeshBuilder::EndSubMesh  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 71 of file meshbuilder.cpp.

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

Implements sheep::IMeshBuilder.

Definition at line 51 of file meshbuilder.cpp.

MeshBuilder::MeshVector MeshBuilder::GetMeshes  )  const
 

Definition at line 61 of file meshbuilder.cpp.

References m_meshes, and MeshVector.

Referenced by toxic::SceneBuilder::mesh_builder().

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

Implements sheep::IMeshBuilder.

Definition at line 55 of file meshbuilder.cpp.

void MeshBuilder::SetAmbientColor sheep::Real  r,
sheep::Real  g,
sheep::Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 146 of file meshbuilder.cpp.

void MeshBuilder::SetDiffuseColor sheep::Real  r,
sheep::Real  g,
sheep::Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 150 of file meshbuilder.cpp.

References toxic::Color3::m_b, m_diffuse_color, toxic::Color3::m_g, and toxic::Color3::m_r.

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

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 94 of file meshbuilder.cpp.

References m_meshes.

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

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 101 of file meshbuilder.cpp.

References m_meshes.

void MeshBuilder::SetMaterial FeatureId  material  )  [virtual]
 

Reimplemented from sheep::IMeshBuilder::IGeometryBuilder.

Definition at line 108 of file meshbuilder.cpp.

References m_meshes.

void MeshBuilder::SetSpecularColor sheep::Real  r,
sheep::Real  g,
sheep::Real  b
[virtual]
 

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 156 of file meshbuilder.cpp.

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

24-bit RGB format.

< 24-bit RGB format.

Reimplemented from sheep::IMeshBuilder::IMaterialBuilder.

Definition at line 160 of file meshbuilder.cpp.

References m_texture_map.


Member Data Documentation

Color3 toxic::MeshBuilder::m_diffuse_color [private]
 

Definition at line 105 of file meshbuilder.h.

Referenced by EndMaterial(), and SetDiffuseColor().

IObject::IntersectionMask toxic::MeshBuilder::m_intersection_mask [private]
 

Definition at line 100 of file meshbuilder.h.

sheep::Matrix4 toxic::MeshBuilder::m_m [private]
 

Definition at line 98 of file meshbuilder.h.

MeshVector toxic::MeshBuilder::m_meshes [private]
 

Definition at line 102 of file meshbuilder.h.

Referenced by AppendFace(), AppendNormal(), AppendTexCoord(), AppendVertex(), BeginSubMesh(), GetMeshes(), SetFaceNormals(), SetFaceTexCoords(), and SetMaterial().

const ISurfaceShader* toxic::MeshBuilder::m_surface_shader [private]
 

Definition at line 99 of file meshbuilder.h.

std::vector<const ISurfaceShader *> toxic::MeshBuilder::m_surface_shaders [private]
 

Definition at line 104 of file meshbuilder.h.

const Map2* toxic::MeshBuilder::m_texture_map [private]
 

Definition at line 106 of file meshbuilder.h.

Referenced by BeginMaterial(), EndMaterial(), and SetTexture().


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