18 #ifndef INCLUDED_COMMONCONVERT 19 #define INCLUDED_COMMONCONVERT 26 class FCDEntityInstance;
28 class FCDSkinController;
38 virtual const char*
what()
const throw() {
return msg.c_str(); }
46 virtual void operator() (
const char* data,
unsigned int length)=0;
60 void OnError(FUError::Level errorLevel, uint32 errorCode, uint32 lineNumber);
78 void LoadFromText(
const char* text);
84 FCDExtra*
GetExtra()
const {
return extra.get(); }
87 void ReadExtras(xmlNode* colladaNode);
89 std::unique_ptr<FCDExtra>
extra;
102 FCDSceneNode&
GetRoot() {
return *m_Doc.GetDocument()->GetVisualSceneRoot(); }
105 bool IsYUp()
const {
return m_YUp; }
106 bool IsXSI()
const {
return m_IsXSI; }
118 #define REQUIRE(value, message) require_(__LINE__, value, "Assertion not satisfied", "failed requirement \"" message "\"") 121 #define REQUIRE_SUCCESS(status) require_(__LINE__, status, "FCollada error", "Line " STRINGIFY(__LINE__)) 122 #define STRINGIFY(x) #x 124 void require_(
int line,
bool value,
const char* type,
const char* message);
129 output((
char*)&data,
sizeof(
T));
143 bool FindSingleInstance(FCDSceneNode* node, FCDEntityInstance*& instance, FMMatrix44& transform);
150 void SkinReduceInfluences(FCDSkinController* skin,
size_t maxInfluenceCount,
float minimumWeight);
168 float translation[3];
169 float orientation[4];
176 void TransformBones(std::vector<BoneTransform>& bones,
const FMMatrix44& scaleTransform,
bool yUp);
180 #endif // INCLUDED_COMMONCONVERT FMMatrix44 m_EntityTransform
Definition: CommonConvert.h:112
void require_(int line, bool value, const char *type, const char *message)
Definition: CommonConvert.cpp:34
def output
Definition: tests.py:118
Standard document loader.
Definition: CommonConvert.h:70
Standard error handler - logs FCollada messages using Log(), and also maintains a list of XML parser ...
Definition: CommonConvert.h:53
ColladaException(const std::string &msg)
Definition: CommonConvert.h:36
FCDExtra * GetExtra() const
Returns the <extra> data from the <COLLADA> element.
Definition: CommonConvert.h:84
FCDEntityInstance * m_Instance
Definition: CommonConvert.h:111
FCDocument * GetDocument() const
Returns the FCDocument that was loaded.
Definition: CommonConvert.h:81
~ColladaException()
Definition: CommonConvert.h:37
Definition: CommonConvert.h:33
Definition: CommonConvert.h:43
const Skeleton & FindSkeleton(const FCDControllerInstance &controllerInstance)
Finds the skeleton definition which best matches the given controller.
Definition: CommonConvert.cpp:381
FMMatrix44 FMMatrix44_Identity
std::string msg
Definition: CommonConvert.h:40
const FColladaDocument & GetDocument() const
Definition: CommonConvert.h:101
void TransformBones(std::vector< BoneTransform > &bones, const FMMatrix44 &scaleTransform, bool yUp)
Performs the standard transformations on bones, applying a scale matrix and moving them into the game...
Definition: CommonConvert.cpp:397
std::unique_ptr< FCDocument > document
Definition: CommonConvert.h:88
FCDSceneNode & GetRoot()
Definition: CommonConvert.h:102
bool FindSingleInstance(FCDSceneNode *node, FCDEntityInstance *&instance, FMMatrix44 &transform)
Tries to find a single suitable entity instance in the scene.
Definition: CommonConvert.cpp:265
const FMMatrix44 & GetEntityTransform() const
Definition: CommonConvert.h:104
#define T(string_literal)
Definition: secure_crt.cpp:77
FCDEntityInstance & GetInstance()
Definition: CommonConvert.h:103
std::string & xmlErrors
Definition: CommonConvert.h:61
Wrapper for code shared between the PMD and PSA converters.
Definition: CommonConvert.h:96
void SkinReduceInfluences(FCDSkinController *skin, size_t maxInfluenceCount, float minimumWeight)
Like FCDSkinController::ReduceInfluences but works correctly.
Definition: CommonConvert.cpp:303
std::unique_ptr< FCDExtra > extra
Definition: CommonConvert.h:89
void FixSkeletonRoots(FCDControllerInstance &controllerInstance)
Fixes some occasional problems with the skeleton root definitions in a controller.
Definition: CommonConvert.cpp:363
bool m_IsXSI
Definition: CommonConvert.h:114
bool IsYUp() const
Definition: CommonConvert.h:105
void write(OutputCB &output, const T &data)
Outputs a structure, using sizeof to get the size.
Definition: CommonConvert.h:127
bool IsXSI() const
Definition: CommonConvert.h:106
FColladaErrorHandler m_Err
Definition: CommonConvert.h:109
virtual ~OutputCB()
Definition: CommonConvert.h:45
bool m_YUp
Definition: CommonConvert.h:113
FColladaDocument m_Doc
Definition: CommonConvert.h:110
virtual const char * what() const
Definition: CommonConvert.h:38
Definition: StdSkeletons.h:50