# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CMeshMorpher Class Reference

Utility to blend shapes. More...

#include <mesh_morpher.h>

List of all members.

Public Methods

 CMeshMorpher ()
void init (CVertexBuffer *vbOri, CVertexBuffer *vbDst, IVertexBufferHard *vbDstHrd, bool hasTgSpace)
void initSkinned (CVertexBuffer *vbOri, CVertexBuffer *vbDst, IVertexBufferHard *vbDstHrd, bool hasTgSpace, std::vector< CVector > *vVertices, std::vector< CVector > *vNormals, std::vector< CVector > *vTgSpace, bool bSkinApplied)
void update (std::vector< CAnimatedMorph > *pBSFactor)
void updateSkinned (std::vector< CAnimatedMorph > *pBSFactor)
void serial (NLMISC::IStream &f) throw (NLMISC::EStream)

Public Attributes

std::vector< CBlendShapeBlendShapes

Private Types

enum  TState { OriginalAll = 0, OriginalVBDst, Modified }

Private Attributes

CVertexBuffer_VBOri
CVertexBuffer_VBDst
IVertexBufferHard_VBDstHrd
std::vector< CVector > * _Vertices
std::vector< CVector > * _Normals
std::vector< CVector > * _TgSpace
bool _SkinApplied: 1
bool _UseTgSpace: 1
std::vector< uint8_Flags


Detailed Description

Utility to blend shapes.

Author:
Matthieu 'TrapII' Besson , Nevrax France
Date:
2001

Definition at line 64 of file mesh_morpher.h.


Member Enumeration Documentation

enum NL3D::CMeshMorpher::TState [private]
 

Enumeration values:
OriginalAll 
OriginalVBDst 
Modified 

Definition at line 66 of file mesh_morpher.h.


Constructor & Destructor Documentation

NL3D::CMeshMorpher::CMeshMorpher  
 

Definition at line 59 of file mesh_morpher.cpp.

References _Normals, _SkinApplied, _TgSpace, _VBDst, _VBDstHrd, _VBOri, and _Vertices.


Member Function Documentation

void NL3D::CMeshMorpher::init CVertexBuffer   vbOri,
CVertexBuffer   vbDst,
IVertexBufferHard   vbDstHrd,
bool    hasTgSpace
 

Definition at line 72 of file mesh_morpher.cpp.

References _UseTgSpace, _VBDst, _VBDstHrd, and _VBOri.

void NL3D::CMeshMorpher::initSkinned CVertexBuffer   vbOri,
CVertexBuffer   vbDst,
IVertexBufferHard   vbDstHrd,
bool    hasTgSpace,
std::vector< CVector > *    vVertices,
std::vector< CVector > *    vNormals,
std::vector< CVector > *    vTgSpace,
bool    bSkinApplied
 

Definition at line 81 of file mesh_morpher.cpp.

References _Normals, _SkinApplied, _TgSpace, _UseTgSpace, _VBDst, _VBDstHrd, _VBOri, and _Vertices.

void NL3D::CMeshMorpher::serial NLMISC::IStream   f throw (NLMISC::EStream)
 

Definition at line 383 of file mesh_morpher.cpp.

void NL3D::CMeshMorpher::update std::vector< CAnimatedMorph > *    pBSFactor
 

Definition at line 102 of file mesh_morpher.cpp.

References _Flags, _VBDst, _VBDstHrd, _VBOri, BlendShapes, NLMISC::clamp, Modified, nlassert, OriginalAll, and OriginalVBDst.

void NL3D::CMeshMorpher::updateSkinned std::vector< CAnimatedMorph > *    pBSFactor
 

Definition at line 233 of file mesh_morpher.cpp.

References _Flags, _Normals, _SkinApplied, _TgSpace, _UseTgSpace, _VBDst, _VBDstHrd, _VBOri, _Vertices, BlendShapes, NLMISC::clamp, Modified, nlassert, OriginalAll, and OriginalVBDst.


Member Data Documentation

std::vector<uint8> NL3D::CMeshMorpher::_Flags [private]
 

Definition at line 108 of file mesh_morpher.h.

Referenced by update, and updateSkinned.

std::vector<CVector>* NL3D::CMeshMorpher::_Normals [private]
 

Definition at line 101 of file mesh_morpher.h.

Referenced by CMeshMorpher, initSkinned, and updateSkinned.

bool NL3D::CMeshMorpher::_SkinApplied [private]
 

Definition at line 105 of file mesh_morpher.h.

Referenced by CMeshMorpher, initSkinned, and updateSkinned.

std::vector<CVector>* NL3D::CMeshMorpher::_TgSpace [private]
 

Definition at line 102 of file mesh_morpher.h.

Referenced by CMeshMorpher, initSkinned, and updateSkinned.

bool NL3D::CMeshMorpher::_UseTgSpace [private]
 

Definition at line 106 of file mesh_morpher.h.

Referenced by init, initSkinned, and updateSkinned.

CVertexBuffer* NL3D::CMeshMorpher::_VBDst [private]
 

Definition at line 97 of file mesh_morpher.h.

Referenced by CMeshMorpher, init, initSkinned, update, and updateSkinned.

IVertexBufferHard* NL3D::CMeshMorpher::_VBDstHrd [private]
 

Definition at line 98 of file mesh_morpher.h.

Referenced by CMeshMorpher, init, initSkinned, update, and updateSkinned.

CVertexBuffer* NL3D::CMeshMorpher::_VBOri [private]
 

Definition at line 96 of file mesh_morpher.h.

Referenced by CMeshMorpher, init, initSkinned, update, and updateSkinned.

std::vector<CVector>* NL3D::CMeshMorpher::_Vertices [private]
 

Definition at line 100 of file mesh_morpher.h.

Referenced by CMeshMorpher, initSkinned, and updateSkinned.

std::vector<CBlendShape> NL3D::CMeshMorpher::BlendShapes
 

Definition at line 75 of file mesh_morpher.h.

Referenced by update, and updateSkinned.


The documentation for this class was generated from the following files: