00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __ROP_FBXActionManager_h__
00020 #define __ROP_FBXActionManager_h__
00021
00022 #include <fbx/fbxsdk.h>
00023 #include "ROP_FBXCommon.h"
00024
00025 class ROP_FBXBaseAction;
00026 class ROP_FBXErrorManager;
00027 class ROP_FBXNodeManager;
00028
00029 class ROP_FBXLookAtAction;
00030 class ROP_FBXSkinningAction;
00031 class ROP_FBXApplyVertexCacheAction;
00032 class ROP_FBXApplySkinningAction;
00033 class ROP_FBXApplyBlendAction;
00034 class ROP_FBXCreateInstancesAction;
00035 class ROP_FBXExporter;
00036
00037 class OP_Node;
00038 class ROP_FBXIntTranslator;
00039
00040 typedef vector <ROP_FBXBaseAction *> TActionsVector;
00041
00042 class ROP_FBXActionManager
00043 {
00044 public:
00045 ROP_FBXActionManager(ROP_FBXNodeManager& node_manager, ROP_FBXErrorManager& error_manager, ROP_FBXExporter& parent_exporter);
00046 virtual ~ROP_FBXActionManager();
00047
00048 ROP_FBXLookAtAction* addLookAtAction(KFbxNode* acted_on_node, OP_Node* look_at_node);
00049 ROP_FBXSkinningAction* addSkinningAction(KFbxNode* acted_on_node, OP_Node* deform_node, float capture_frame);
00050 ROP_FBXCreateInstancesAction* addCreateInstancesAction(void);
00051
00052 void performPostActions(void);
00053
00054
00055 void clear(void);
00056
00057 ROP_FBXErrorManager& getErrorManager(void);
00058 ROP_FBXNodeManager& getNodeManager(void);
00059 ROP_FBXBaseAction* getCurrentAction(void);
00060 ROP_FBXExporter& getExporter(void);
00061
00062 private:
00063 TActionsVector myPostActions;
00064 ROP_FBXNodeManager& myNodeManager;
00065 ROP_FBXErrorManager& myErrorManager;
00066 ROP_FBXExporter& myExporter;
00067
00068 ROP_FBXBaseAction* myCurrentAction;
00069
00070 };
00071
00072
00073
00074 #endif // __ROP_FBXActionManager_h__