WoW Model Viewer
Your premiere tool for viewing, equipping and animating World of Warcraft models.
Loading...
Searching...
No Matches
FBXExporter Class Reference

Exports WoW models to Autodesk FBX format with meshes, skeletons, and animations. More...

#include <FBXExporter.h>

Inheritance diagram for FBXExporter:
[legend]
Collaboration diagram for FBXExporter:
[legend]

Public Member Functions

 FBXExporter ()
 
 ~FBXExporter ()=default
 
std::wstring menuLabel () const
 
std::wstring fileSaveTitle () const
 
std::wstring fileSaveFilter () const
 
bool exportModel (Model *, std::wstring file)
 
- Public Member Functions inherited from ExporterPlugin
 ExporterPlugin ()=default
 
virtual ~ExporterPlugin ()=default
 
bool canExportAnimation () const
 
void setAnimationsToExport (std::vector< int > values)
 

Private Member Functions

void createMaterials ()
 
void createMeshes ()
 
void createSkeletons ()
 
void linkMeshAndSkeleton ()
 
void createAnimations ()
 
bool createAnimationFiles ()
 
void reset ()
 

Private Attributes

FbxManager * m_p_manager
 
FbxScene * m_p_scene
 
WoWModelm_p_model
 
FbxNode * m_p_meshNode
 
FbxNode * m_p_skeletonNode
 
std::vector< WoWModel * > m_p_attachedModels
 
std::mutex m_mutex
 
bool useAltAnimNaming = false
 
FbxString m_fileVersion
 
std::wstring m_filename
 
std::map< int, FbxNode * > m_boneNodes
 
std::vector< FbxCluster * > m_boneClusters
 
std::map< int, FbxNode * > m_attachSkeletonNode
 
std::map< int, FbxNode * > m_attachMeshNodes
 
std::map< int, std::map< int, FbxNode * > > m_attachBoneNodes
 
std::map< int, std::vector< FbxCluster * > > m_attachBoneClusters
 
std::map< std::wstring, GLuint > m_texturesToExport
 

Additional Inherited Members

- Protected Member Functions inherited from ExporterPlugin
void exportGLTexture (GLuint id, std::wstring filename) const
 
- Protected Attributes inherited from ExporterPlugin
bool m_canExportAnimation = false
 
std::vector< int > m_animsToExport
 

Detailed Description

Exports WoW models to Autodesk FBX format with meshes, skeletons, and animations.

Definition at line 41 of file FBXExporter.h.

Constructor & Destructor Documentation

◆ FBXExporter()

FBXExporter::FBXExporter ( )

Definition at line 41 of file FBXExporter.cpp.

◆ ~FBXExporter()

FBXExporter::~FBXExporter ( )
default

Member Function Documentation

◆ createAnimationFiles()

bool FBXExporter::createAnimationFiles ( )
private

Definition at line 339 of file FBXExporter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createAnimations()

void FBXExporter::createAnimations ( )
private

Definition at line 321 of file FBXExporter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createMaterials()

void FBXExporter::createMaterials ( )
private

Definition at line 394 of file FBXExporter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createMeshes()

void FBXExporter::createMeshes ( )
private

Definition at line 208 of file FBXExporter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createSkeletons()

void FBXExporter::createSkeletons ( )
private

Definition at line 241 of file FBXExporter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exportModel()

bool FBXExporter::exportModel ( Model model,
std::wstring  file 
)
virtual

Implements ExporterPlugin.

Definition at line 62 of file FBXExporter.cpp.

Here is the call graph for this function:

◆ fileSaveFilter()

std::wstring FBXExporter::fileSaveFilter ( ) const
virtual

Implements ExporterPlugin.

Definition at line 57 of file FBXExporter.cpp.

◆ fileSaveTitle()

std::wstring FBXExporter::fileSaveTitle ( ) const
virtual

Implements ExporterPlugin.

Definition at line 52 of file FBXExporter.cpp.

◆ linkMeshAndSkeleton()

void FBXExporter::linkMeshAndSkeleton ( )
private

Definition at line 272 of file FBXExporter.cpp.

Here is the caller graph for this function:

◆ menuLabel()

std::wstring FBXExporter::menuLabel ( ) const
virtual

Implements ExporterPlugin.

Definition at line 47 of file FBXExporter.cpp.

◆ reset()

void FBXExporter::reset ( )
private

Definition at line 533 of file FBXExporter.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ m_attachBoneClusters

std::map<int, std::vector<FbxCluster*> > FBXExporter::m_attachBoneClusters
private

Definition at line 81 of file FBXExporter.h.

◆ m_attachBoneNodes

std::map<int, std::map<int, FbxNode*> > FBXExporter::m_attachBoneNodes
private

Definition at line 80 of file FBXExporter.h.

◆ m_attachMeshNodes

std::map<int, FbxNode*> FBXExporter::m_attachMeshNodes
private

Definition at line 79 of file FBXExporter.h.

◆ m_attachSkeletonNode

std::map<int, FbxNode*> FBXExporter::m_attachSkeletonNode
private

Definition at line 78 of file FBXExporter.h.

◆ m_boneClusters

std::vector<FbxCluster*> FBXExporter::m_boneClusters
private

Definition at line 76 of file FBXExporter.h.

◆ m_boneNodes

std::map<int, FbxNode*> FBXExporter::m_boneNodes
private

Definition at line 75 of file FBXExporter.h.

◆ m_filename

std::wstring FBXExporter::m_filename
private

Definition at line 74 of file FBXExporter.h.

◆ m_fileVersion

FbxString FBXExporter::m_fileVersion
private

Definition at line 73 of file FBXExporter.h.

◆ m_mutex

std::mutex FBXExporter::m_mutex
mutableprivate

Definition at line 71 of file FBXExporter.h.

◆ m_p_attachedModels

std::vector<WoWModel*> FBXExporter::m_p_attachedModels
private

Definition at line 69 of file FBXExporter.h.

◆ m_p_manager

FbxManager* FBXExporter::m_p_manager
private

Definition at line 64 of file FBXExporter.h.

◆ m_p_meshNode

FbxNode* FBXExporter::m_p_meshNode
private

Definition at line 67 of file FBXExporter.h.

◆ m_p_model

WoWModel* FBXExporter::m_p_model
private

Definition at line 66 of file FBXExporter.h.

◆ m_p_scene

FbxScene* FBXExporter::m_p_scene
private

Definition at line 65 of file FBXExporter.h.

◆ m_p_skeletonNode

FbxNode* FBXExporter::m_p_skeletonNode
private

Definition at line 68 of file FBXExporter.h.

◆ m_texturesToExport

std::map<std::wstring, GLuint> FBXExporter::m_texturesToExport
private

Definition at line 83 of file FBXExporter.h.

◆ useAltAnimNaming

bool FBXExporter::useAltAnimNaming = false
private

Definition at line 72 of file FBXExporter.h.


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