# 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  

CExportNel Class Reference

3dsmax to NeL export interface for other things that landscape. More...

#include <export_nel.h>

List of all members.

Public Types

typedef std::map<INode*, Matrix3> mapBoneBindPos
enum  {
  NoError = 0,
  VertexWithoutWeight,
  InvalidSkeleton,
  CodeCount
}

Public Methods

 CExportNel ()
 Constructor. More...


Static Public Methods

NL3D::IShapebuildShape (INode& node, Interface& ip, TimeValue time, const NL3D::CSkeletonShape* skeletonShape, bool absolutePath)
 Build a NeL mesh. More...

bool isMesh (INode& node, TimeValue time)
 Return true if it is a mesh. More...

void addAnimation (NL3D::CAnimation& animation, INode& node, const char* sBaseName, Interface *ip)
NL3D::ITrackbuildATrack (NL3D::CAnimation& animation, Control& c, TNelValueType type, Animatable& node, const CExportDesc& desc, Interface *ip)
void addBoneTracks (NL3D::CAnimation& animation, INode& node, const char* parentName, Interface *ip)
void buildNelKey (NL3D::CKeyFloat& nelKey, ILinFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyInt& nelKey, ILinFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBool& nelKey, ILinFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyVector& nelKey, ILinPoint3Key& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyRGBA& nelKey, ILinPoint3Key& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyQuat& nelKey, ILinRotKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyVector& nelKey, ILinScaleKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBezierFloat& nelKey, IBezFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBool& nelKey, IBezFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBezierVector& nelKey, IBezPoint3Key& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBezierQuat& nelKey, IBezQuatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBezierVector& nelKey, IBezScaleKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyTCBFloat& nelKey, ITCBFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyBool& nelKey, ITCBFloatKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyTCBVector& nelKey, ITCBPoint3Key& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyTCBQuat& nelKey, ITCBRotKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void buildNelKey (NL3D::CKeyTCBVector& nelKey, ITCBScaleKey& maxKey, float ticksPerSecond, const CExportDesc& desc)
void createBipedKeyFramer (NL3D::ITrack *&nelRot, NL3D::ITrack *&nelPos, bool isRot, bool isPos, float ticksPerSecond, const Interval& range, int oRT, const CExportDesc& desc, INode& node, const std::set<TimeValue>& ikeys, Interface *ip)
NL3D::CAnimationTime convertTime (TimeValue time)
void buildSkeletonShape (NL3D::CSkeletonShape& skeletonShape, INode& node, mapBoneBindPos* mapBindPos, TimeValue time)
void buildSkeleton (std::vector<NL3D::CBoneBase>& bonesArray, INode& node, mapBoneBindPos* mapBindPos, TimeValue time, sint32& idCount, sint32 father=-1)
uint buildSkinning (NL3D::CMesh::CMeshBuild& buildMesh, const NL3D::CSkeletonShape& skeletonShape, INode& node)
bool isSkin (INode& node)
INode* getSkeletonRootBone (INode& node)
void addSkeletonBindPos (INode& node, mapBoneBindPos& boneBindPos)
void enableSkinModifier (INode& node, bool enable)
Matrix3 viewMatrix2CameraMatrix (const Matrix3& viewMatrix)
 Transforme a 3dsmax view matrix to camera matrix. More...

void convertMatrix (NLMISC::CMatrix& nelMatrix, const Matrix3& maxMatrix)
void getLocalMatrix (Matrix3& localMatrix, INode& node, TimeValue time)
void decompMatrix (NLMISC::CVector& nelScale, NLMISC::CQuat& nelRot, NLMISC::CVector& nelPos, const Matrix3& maxMatrix)
void convertColor (NLMISC::CRGBA& nelColor, const Color& maxColor)
bool isClassIdCompatible (Animatable& node, Class_ID& classId)
Animatable* getSubAnimByName (Animatable& node, const char* sName)
std::string getName (MtlBase& mtl)
std::string getName (INode& node)
void getLights (std::vector<NL3D::CLight>& vectLight, TimeValue time, Interface& ip, INode* node=NULL)
Control* getControlerByName (Animatable& node, const char* sName)
bool getValueByNameUsingParamBlock2 (Animatable& node, const char* sName, ParamType2 type, void *pValue, TimeValue time)
ModifiergetModifier (INode* pNode, Class_ID modCID)
NLMISC::CRGBA getAmbientColor (Interface& ip, TimeValue time)
bool scriptEvaluate (Interface *ip, char *script, void *out, TNelScriptValueType type)

Static Public Attributes

const char* ErrorMessage [CodeCount]

Static Private Methods

int getVertMapChannel (Texmap& texmap, Matrix3& channelMatrix)
bool buildLight (GenLight &maxLight, NL3D::CLight& nelLight, INode& node, TimeValue time)
void buildMeshInterface (TriObject &tri, NL3D::CMesh::CMeshBuild& buildMesh, std::vector<std::string>& materialNames, INode& node, TimeValue time, const NL3D::CSkeletonShape* skeletonShape, bool absolutePath)
 Build a NeL mesh interface. More...

Point3 getLocalNormal (int face, int corner, Mesh& mesh)
int buildMaterials (std::vector<NL3D::CMaterial>& Materials, std::vector<std::vector<CMaterialDesc> >& remap3dsTexChannel, std::vector<std::string>& materialNames, INode& node, TimeValue time, bool absolutePath)
std::string buildAMaterial (NL3D::CMaterial& material, std::vector<CMaterialDesc>& remap3dsTexChannel, Mtl& mtl, TimeValue time, bool absolutePath)
NL3D::ITexturebuildATexture (Texmap& texmap, std::vector<CMaterialDesc>& remap3dsTexChannel, TimeValue time, bool absolutePath)
void addNodeTracks (NL3D::CAnimation& animation, INode& node, const char* parentName, Interface *ip)
void addBonesTracks (NL3D::CAnimation& animation, INode& node, const char* parentName, Interface *ip)
void addObjTracks (NL3D::CAnimation& animation, Object& obj, const char* parentName)
void addMtlTracks (NL3D::CAnimation& animation, Mtl& mtl, const char* parentName, Interface *ip)
void addTexTracks (NL3D::CAnimation& animation, Texmap& tex, const char* parentName)
void addKeyTime (Control& c, std::set<TimeValue>& ikeys, bool subKeys)
bool getBipedKeyInfo (Interface *ip, const char* nodeName, const char* paramName, uint key, float& res)


Detailed Description

3dsmax to NeL export interface for other things that landscape.

Author(s):
Cyril Corvazier , Nevrax France
Date:
2000

Definition at line 74 of file export_nel.h.


Member Typedef Documentation

typedef std::map<INode*, Matrix3> CExportNel::mapBoneBindPos
 

Definition at line 87 of file export_nel.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
NoError  
VertexWithoutWeight  
InvalidSkeleton  
CodeCount  

Definition at line 77 of file export_nel.h.


Constructor & Destructor Documentation

CExportNel::CExportNel ( )
 

Constructor.

Definition at line 46 of file export_misc.cpp.


Member Function Documentation

void CExportNel::addAnimation ( NL3D::CAnimation & animation,
INode & node,
const char * sBaseName,
Interface * ip ) [static]
 

Definition at line 72 of file export_anim.cpp.

Referenced by CNelExport::exportAnim(), and CNelExport::viewMesh().

void CExportNel::addBoneTracks ( NL3D::CAnimation & animation,
INode & node,
const char * parentName,
Interface * ip ) [static]
 

Definition at line 190 of file export_anim.cpp.

Referenced by addBonesTracks().

void CExportNel::addBonesTracks ( NL3D::CAnimation & animation,
INode & node,
const char * parentName,
Interface * ip ) [static, private]
 

Definition at line 205 of file export_anim.cpp.

Referenced by addAnimation().

void CExportNel::addKeyTime ( Control & c,
std::set< TimeValue >& keySet,
bool subKeys ) [static, private]
 

Definition at line 1103 of file export_anim.cpp.

Referenced by buildATrack().

void CExportNel::addMtlTracks ( NL3D::CAnimation & animation,
Mtl & mtl,
const char * parentName,
Interface * ip ) [static, private]
 

Definition at line 223 of file export_anim.cpp.

Referenced by addAnimation().

void CExportNel::addNodeTracks ( NL3D::CAnimation & animation,
INode & node,
const char * parentName,
Interface * ip ) [static, private]
 

Definition at line 98 of file export_anim.cpp.

Referenced by addAnimation(), and addBoneTracks().

void CExportNel::addObjTracks ( NL3D::CAnimation & animation,
Object & obj,
const char * parentName ) [static, private]
 

Definition at line 217 of file export_anim.cpp.

Referenced by addAnimation().

void CExportNel::addSkeletonBindPos ( INode & node,
mapBoneBindPos & boneBindPos ) [static]
 

Definition at line 459 of file export_skinning.cpp.

Referenced by CNelExport::exportMesh(), and CNelExport::viewMesh().

void CExportNel::addTexTracks ( NL3D::CAnimation & animation,
Texmap & tex,
const char * parentName ) [static, private]
 

Definition at line 338 of file export_anim.cpp.

Referenced by addMtlTracks().

std::string CExportNel::buildAMaterial ( NL3D::CMaterial & material,
std::vector< CMaterialDesc >& remap3dsTexChannel,
Mtl & mtl,
TimeValue time,
bool absolutePath ) [static, private]
 

Definition at line 121 of file export_material.cpp.

ITexture * CExportNel::buildATexture ( Texmap & texmap,
std::vector< CMaterialDesc >& remap3dsTexChannel,
TimeValue time,
bool absolutePath ) [static, private]
 

Definition at line 316 of file export_material.cpp.

Referenced by buildAMaterial().

ITrack * CExportNel::buildATrack ( NL3D::CAnimation & animation,
Control & c,
TNelValueType type,
Animatable & node,
const CExportDesc & desc,
Interface * ip ) [static]
 

Definition at line 857 of file export_anim.cpp.

Referenced by addMtlTracks(), and addNodeTracks().

bool CExportNel::buildLight ( GenLight & maxLight,
NL3D::CLight & nelLight,
INode & node,
TimeValue time ) [static, private]
 

Definition at line 37 of file export_light.cpp.

int CExportNel::buildMaterials ( std::vector< NL3D::CMaterial >& Materials,
std::vector< std::vector< CMaterialDesc > >& remap3dsTexChannel,
std::vector< std::string >& materialNames,
INode & node,
TimeValue time,
bool absolutePath ) [static, private]
 

Referenced by buildMeshInterface().

void CExportNel::buildMeshInterface ( TriObject & tri,
NL3D::CMesh::CMeshBuild & buildMesh,
std::vector< std::string >& materialNames,
INode & node,
TimeValue time,
const NL3D::CSkeletonShape * skeletonShape,
bool absolutePath ) [static, private]
 

Build a NeL mesh interface.

if skeletonShape is NULL, no skinning is exported.

Definition at line 151 of file export_mesh.cpp.

Referenced by buildShape().

void CExportNel::buildNelKey ( NL3D::CKeyTCBVector & nelKey,
ITCBScaleKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 577 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyTCBQuat & nelKey,
ITCBRotKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 562 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyTCBVector & nelKey,
ITCBPoint3Key & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 539 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBool & nelKey,
ITCBFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 532 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyTCBFloat & nelKey,
ITCBFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 520 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBezierVector & nelKey,
IBezScaleKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 491 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBezierQuat & nelKey,
IBezQuatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 481 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBezierVector & nelKey,
IBezPoint3Key & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 451 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBool & nelKey,
IBezFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 444 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBezierFloat & nelKey,
IBezFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 429 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyVector & nelKey,
ILinScaleKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 412 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyQuat & nelKey,
ILinRotKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 402 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyRGBA & nelKey,
ILinPoint3Key & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 384 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyVector & nelKey,
ILinPoint3Key & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 366 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyBool & nelKey,
ILinFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 359 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyInt & nelKey,
ILinFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 352 of file export_anim.cpp.

void CExportNel::buildNelKey ( NL3D::CKeyFloat & nelKey,
ILinFloatKey & maxKey,
float ticksPerSecond,
const CExportDesc & desc ) [static]
 

Definition at line 345 of file export_anim.cpp.

Referenced by createKeyFramer().

NL3D::IShape * CExportNel::buildShape ( INode & node,
Interface & ip,
TimeValue time,
const NL3D::CSkeletonShape * skeletonShape,
bool absolutePath ) [static]
 

Build a NeL mesh.

skeletonShape must be NULL if no bones.

Definition at line 34 of file export_mesh.cpp.

Referenced by CNelExport::exportMesh(), and CNelExport::viewMesh().

void CExportNel::buildSkeleton ( std::vector< NL3D::CBoneBase >& bonesArray,
INode & node,
mapBoneBindPos * mapBindPos,
TimeValue time,
sint32 & idCount,
sint32 father = -1 ) [static]
 

Referenced by buildSkeletonShape().

void CExportNel::buildSkeletonShape ( NL3D::CSkeletonShape & skeletonShape,
INode & node,
mapBoneBindPos * mapBindPos,
TimeValue time ) [static]
 

Definition at line 86 of file export_skinning.cpp.

Referenced by CNelExport::exportMesh(), CNelExport::exportSkeleton(), and CNelExport::viewMesh().

uint CExportNel::buildSkinning ( NL3D::CMesh::CMeshBuild & buildMesh,
const NL3D::CSkeletonShape & skeletonShape,
INode & node ) [static]
 

Definition at line 232 of file export_skinning.cpp.

Referenced by buildMeshInterface().

void CExportNel::convertColor ( NLMISC::CRGBA & nelColor,
const Color & maxColor ) [static]
 

Definition at line 118 of file export_misc.cpp.

Referenced by buildAMaterial().

void CExportNel::convertMatrix ( NLMISC::CMatrix & nelMatrix,
const Matrix3 & maxMatrix ) [static]
 

Definition at line 82 of file export_misc.cpp.

Referenced by buildLight(), buildMeshInterface(), and decompMatrix().

NL3D::CAnimationTime CExportNel::convertTime ( TimeValue time ) [static]
 

Definition at line 849 of file export_anim.cpp.

Referenced by createBipedKeyFramer(), and createKeyFramer().

void CExportNel::createBipedKeyFramer ( NL3D::ITrack *& nelRot,
NL3D::ITrack *& nelPos,
bool isRot,
bool isPos,
float ticksPerSecond,
const Interval & range,
int oRT,
const CExportDesc & desc,
INode & node,
const std::set< TimeValue >& ikeys,
Interface * ip ) [static]
 

Definition at line 670 of file export_anim.cpp.

Referenced by buildATrack().

void CExportNel::decompMatrix ( NLMISC::CVector & nelScale,
NLMISC::CQuat & nelRot,
NLMISC::CVector & nelPos,
const Matrix3 & maxMatrix ) [static]
 

Definition at line 366 of file export_misc.cpp.

Referenced by buildMeshInterface(), createBipedKeyFramer(), and CNelExport::exportScene().

void CExportNel::enableSkinModifier ( INode & node,
bool enable ) [static]
 

Definition at line 528 of file export_skinning.cpp.

Referenced by buildShape().

CRGBA CExportNel::getAmbientColor ( Interface & ip,
TimeValue time ) [static]
 

Definition at line 167 of file export_light.cpp.

bool CExportNel::getBipedKeyInfo ( Interface * ip,
const char * nodeName,
const char * paramName,
uint key,
float & res ) [static, private]
 

Definition at line 1147 of file export_anim.cpp.

Referenced by createBipedKeyFramer().

Control * CExportNel::getControlerByName ( Animatable & node,
const char * sName ) [static]
 

Definition at line 183 of file export_misc.cpp.

Referenced by addMtlTracks().

void CExportNel::getLights ( std::vector< NL3D::CLight >& vectLight,
TimeValue time,
Interface & ip,
INode * node = NULL ) [static]
 

Referenced by CNelExport::viewMesh().

void CExportNel::getLocalMatrix ( Matrix3 & localMatrix,
INode & node,
TimeValue time ) [static]
 

Definition at line 402 of file export_misc.cpp.

Referenced by buildMeshInterface(), and createBipedKeyFramer().

Point3 CExportNel::getLocalNormal ( int face,
int corner,
Mesh & mesh ) [static, private]
 

Definition at line 101 of file export_mesh.cpp.

Referenced by buildMeshInterface().

Modifier * CExportNel::getModifier ( INode * pNode,
Class_ID modCID ) [static]
 

Definition at line 305 of file export_misc.cpp.

Referenced by addSkeletonBindPos(), buildSkinning(), enableSkinModifier(), CNelExport::exportSWT(), getSkeletonRootBone(), and isSkin().

std::string CExportNel::getName ( INode & mtl ) [static]
 

Definition at line 357 of file export_misc.cpp.

std::string CExportNel::getName ( MtlBase & mtl ) [static]
 

Definition at line 346 of file export_misc.cpp.

Referenced by addBoneTracks(), addMtlTracks(), buildSkinning(), CNelExport::exportAnim(), and CNelExport::viewMesh().

INode * CExportNel::getSkeletonRootBone ( INode & node ) [static]
 

Definition at line 403 of file export_skinning.cpp.

Referenced by addBonesTracks(), CNelExport::exportMesh(), and CNelExport::viewMesh().

Animatable * CExportNel::getSubAnimByName ( Animatable & node,
const char * sName ) [static]
 

Definition at line 154 of file export_misc.cpp.

bool CExportNel::getValueByNameUsingParamBlock2 ( Animatable & node,
const char * sName,
ParamType2 type,
void * pValue,
TimeValue time ) [static]
 

Definition at line 251 of file export_misc.cpp.

Referenced by buildATexture(), and CNelExport::exportSWT().

int CExportNel::getVertMapChannel ( Texmap & texmap,
Matrix3 & channelMatrix ) [static, private]
 

Definition at line 264 of file export_material.cpp.

Referenced by buildATexture().

bool CExportNel::isClassIdCompatible ( Animatable & anim,
Class_ID & classId ) [static]
 

Definition at line 138 of file export_misc.cpp.

Referenced by buildAMaterial(), and buildATexture().

bool CExportNel::isMesh ( INode & node,
TimeValue time ) [static]
 

Return true if it is a mesh.

skeletonShape must be NULL if no bones.

Definition at line 419 of file export_misc.cpp.

Referenced by CNelExportDlgProc(), and CNelExport::viewMesh().

bool CExportNel::isSkin ( INode & node ) [static]
 

Definition at line 192 of file export_skinning.cpp.

Referenced by CNelExport::exportMesh(), and CNelExport::viewMesh().

bool CExportNel::scriptEvaluate ( Interface * ip,
char * script,
void * out,
TNelScriptValueType type ) [static]
 

Definition at line 31 of file export_script.cpp.

Referenced by getBipedKeyInfo().

Matrix3 CExportNel::viewMatrix2CameraMatrix ( const Matrix3 & viewMatrix ) [static]
 

Transforme a 3dsmax view matrix to camera matrix.

Definition at line 53 of file export_misc.cpp.


Member Data Documentation

const char * CExportNel::ErrorMessage[CodeCount] [static]
 

Initializer:

{
        "No error.",
        "Some vertices of the skin are not assigned.",
        "The skin doesn't use the same skeleton.",
}

Definition at line 85 of file export_nel.h.


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