ModelRendererMesh Class Reference

#include <ModelRendererMesh.h>

Inheritance diagram for ModelRendererMesh:

ModelRenderer TankMesh

List of all members.

Public Member Functions

 ModelRendererMesh (Model *model)
virtual ~ModelRendererMesh ()
virtual void draw (float currentFrame, float distance, float fade, bool setState)
virtual void drawBottomAligned (float currentFrame, float distance, float fade, bool setState)
virtual ModelgetModel ()

Protected Member Functions

virtual void drawMesh (unsigned int m, Mesh *mesh, float currentFrame, bool setState)
virtual void drawVerts (unsigned int m, Mesh *mesh, bool vertexLighting, int frame)
virtual void setup ()

Protected Attributes

Modelmodel_
std::vector< BoneType * > boneTypes_
std::vector< MeshInfomeshInfos_
Vector vertexTranslation_

Classes

struct  MeshFrameInfo
struct  MeshInfo


Detailed Description

Definition at line 28 of file ModelRendererMesh.h.


Constructor & Destructor Documentation

ModelRendererMesh::ModelRendererMesh ( Model model  ) 

Definition at line 30 of file ModelRendererMesh.cpp.

References setup().

ModelRendererMesh::~ModelRendererMesh (  )  [virtual]

Definition at line 36 of file ModelRendererMesh.cpp.

References boneTypes_, ModelRendererMesh::MeshFrameInfo::displayList, ModelRendererMesh::MeshInfo::frameInfos_, glDeleteLists(), and meshInfos_.


Member Function Documentation

void ModelRendererMesh::draw ( float  currentFrame,
float  distance,
float  fade,
bool  setState 
) [virtual]

Implements ModelRenderer.

Definition at line 94 of file ModelRendererMesh.cpp.

References GLState::ALPHATEST_ON, GLState::BLEND_ON, drawMesh(), Model::getMeshes(), GL_ONE_MINUS_CONSTANT_ALPHA_EXT, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA, glBlendColorEXT, glBlendFunc(), GLStateExtension::hasBlendColor(), MAX, MIN, and model_.

Referenced by TankMesh::draw(), and drawBottomAligned().

void ModelRendererMesh::drawBottomAligned ( float  currentFrame,
float  distance,
float  fade,
bool  setState 
) [virtual]

Implements ModelRenderer.

Definition at line 85 of file ModelRendererMesh.cpp.

References draw(), Model::getMin(), glPopMatrix(), glPushMatrix(), glTranslatef(), and model_.

Referenced by TankMesh::draw().

virtual Model* ModelRendererMesh::getModel (  )  [inline, virtual]

Implements ModelRenderer.

Definition at line 39 of file ModelRendererMesh.h.

References model_.

void ModelRendererMesh::drawMesh ( unsigned int  m,
Mesh mesh,
float  currentFrame,
bool  setState 
) [protected, virtual]

Reimplemented in TankMesh.

Definition at line 123 of file ModelRendererMesh.cpp.

References GLInfo::addNoTriangles(), DIALOG_ASSERT, GLTexture::draw(), drawVerts(), ModelRendererMesh::MeshInfo::frameInfos_, Mesh::getAmbientColor(), Mesh::getAmbientNoTexColor(), Mesh::getATextureName(), Mesh::getDiffuseColor(), Mesh::getDiffuseNoTexColor(), Mesh::getEmissiveColor(), Mesh::getEmissiveNoTexColor(), Mesh::getFaces(), OptionsDisplay::getNoModelLighting(), OptionsDisplay::getNoSkins(), Mesh::getReferencesBones(), Mesh::getShininessColor(), Mesh::getSpecularColor(), Mesh::getSpecularNoTexColor(), Mesh::getSphereMap(), Model::getStartFrame(), Mesh::getTextureName(), Model::getTotalFrames(), GL_AMBIENT, GL_COMPILE, GL_DIFFUSE, GL_EMISSION, GL_FRONT_AND_BACK, GL_R, GL_S, GL_SHININESS, GL_SPECULAR, GL_SPHERE_MAP, GL_T, GL_TEXTURE_GEN_MODE, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, glCallList(), glDeleteLists(), glDisable(), glEnable(), glEndList(), glGenLists(), glMaterialf(), glMaterialfv(), glNewList(), glTexGenf(), TextureStore::instance(), OptionsDisplay::instance(), int(), GLState::LIGHT1_OFF, GLState::LIGHT1_ON, GLState::LIGHTING_OFF, GLState::LIGHTING_ON, TextureStore::loadTexture(), meshInfos_, model_, GLState::NORMALIZE_OFF, GLState::NORMALIZE_ON, ModelRendererMesh::MeshInfo::texture, GLState::TEXTURE_OFF, and GLState::TEXTURE_ON.

Referenced by draw(), and TankMesh::drawMesh().

void ModelRendererMesh::drawVerts ( unsigned int  m,
Mesh mesh,
bool  vertexLighting,
int  frame 
) [protected, virtual]

Definition at line 251 of file ModelRendererMesh.cpp.

References BoneType::absolute_, GLInfo::addNoTriangles(), Vertex::boneIndex, boneTypes_, ModelMaths::concatTransforms(), BoneType::final_, Model::getBones(), Mesh::getDiffuseNoTexColor(), Mesh::getFaces(), Bone::getPositionAtTime(), Bone::getPositionKeys(), Bone::getRotationAtTime(), Bone::getRotationKeys(), GLState::getState(), Mesh::getVertex(), GL_TRIANGLES, glBegin(), glColor3f(), glColor3fv(), glEnd(), glNormal3fv(), glTexCoord2f(), glVertex3fv(), Vertex::lightintense, model_, Face::normal, BoneType::parent_, Vertex::position, BoneType::relative_, BoneType::relativeFinal_, Face::tcoord, GLState::TEXTURE_OFF, Face::v, ModelMaths::vectorRotate(), and vertexTranslation_.

Referenced by drawMesh().

void ModelRendererMesh::setup (  )  [protected, virtual]

Definition at line 61 of file ModelRendererMesh.cpp.

References boneTypes_, ModelRendererMesh::MeshInfo::frameInfos_, Model::getBaseBoneTypes(), Model::getMeshes(), Model::getTotalFrames(), meshInfos_, and model_.

Referenced by ModelRendererMesh().


Member Data Documentation

Model* ModelRendererMesh::model_ [protected]

Definition at line 58 of file ModelRendererMesh.h.

Referenced by draw(), drawBottomAligned(), drawMesh(), drawVerts(), getModel(), TankMesh::getNoTris(), setup(), and TankMesh::setupTankMesh().

std::vector<BoneType *> ModelRendererMesh::boneTypes_ [protected]

Definition at line 59 of file ModelRendererMesh.h.

Referenced by drawVerts(), setup(), and ~ModelRendererMesh().

std::vector<MeshInfo> ModelRendererMesh::meshInfos_ [protected]

Definition at line 60 of file ModelRendererMesh.h.

Referenced by drawMesh(), setup(), and ~ModelRendererMesh().

Vector ModelRendererMesh::vertexTranslation_ [protected]

Definition at line 61 of file ModelRendererMesh.h.

Referenced by TankMesh::drawMesh(), and drawVerts().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:04 2009 for Scorched3D by  doxygen 1.5.3