18 #ifndef INCLUDED_COMMONCONVERT 19 #define INCLUDED_COMMONCONVERT 26 class FCDEntityInstance;
28 class FCDSkinController;
39 virtual const char*
what()
const throw() {
return msg.c_str(); }
47 virtual void operator() (
const char* data,
unsigned int length)=0;
61 void OnError(FUError::Level errorLevel, uint32 errorCode, uint32 lineNumber);
79 void LoadFromText(
const char* text);
85 FCDExtra*
GetExtra()
const {
return extra.get(); }
88 void ReadExtras(xmlNode* colladaNode);
90 std::unique_ptr<FCDExtra>
extra;
103 FCDSceneNode&
GetRoot() {
return *m_Doc.GetDocument()->GetVisualSceneRoot(); }
106 bool IsYUp()
const {
return m_YUp; }
107 bool IsXSI()
const {
return m_IsXSI; }
119 #define REQUIRE(value, message) require_(__LINE__, value, "Assertion not satisfied", "failed requirement \"" message "\"") 122 #define REQUIRE_SUCCESS(status) require_(__LINE__, status, "FCollada error", "Line " STRINGIFY(__LINE__)) 123 #define STRINGIFY(x) #x 125 void require_(
int line,
bool value,
const char* type,
const char* message);
130 output((
char*)&data,
sizeof(
T));
144 bool FindSingleInstance(FCDSceneNode* node, FCDEntityInstance*& instance, FMMatrix44& transform);
151 void SkinReduceInfluences(FCDSkinController* skin,
size_t maxInfluenceCount,
float minimumWeight);
169 float translation[3];
170 float orientation[4];
177 void TransformBones(std::vector<BoneTransform>& bones,
const FMMatrix44& scaleTransform,
bool yUp);
181 #endif // INCLUDED_COMMONCONVERT FMMatrix44 m_EntityTransform
Definition: CommonConvert.h:113
void require_(int line, bool value, const char *type, const char *message)
Definition: CommonConvert.cpp:34
Standard document loader.
Definition: CommonConvert.h:71
Standard error handler - logs FCollada messages using Log(), and also maintains a list of XML parser ...
Definition: CommonConvert.h:54
ColladaException(const std::string &msg)
Definition: CommonConvert.h:37
FCDEntityInstance * m_Instance
Definition: CommonConvert.h:112
FCDocument * GetDocument() const
Returns the FCDocument that was loaded.
Definition: CommonConvert.h:82
virtual const char * what() const
Definition: CommonConvert.h:39
~ColladaException()
Definition: CommonConvert.h:38
FCDExtra * GetExtra() const
Returns the <extra> data from the <COLLADA> element.
Definition: CommonConvert.h:85
Definition: CommonConvert.h:34
Definition: CommonConvert.h:44
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:41
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:89
FCDSceneNode & GetRoot()
Definition: CommonConvert.h:103
bool FindSingleInstance(FCDSceneNode *node, FCDEntityInstance *&instance, FMMatrix44 &transform)
Tries to find a single suitable entity instance in the scene.
Definition: CommonConvert.cpp:265
output
Definition: tests.py:116
const FColladaDocument & GetDocument() const
Definition: CommonConvert.h:102
#define T(string_literal)
Definition: secure_crt.cpp:76
FCDEntityInstance & GetInstance()
Definition: CommonConvert.h:104
std::string & xmlErrors
Definition: CommonConvert.h:62
Wrapper for code shared between the PMD and PSA converters.
Definition: CommonConvert.h:97
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:90
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:115
void write(OutputCB &output, const T &data)
Outputs a structure, using sizeof to get the size.
Definition: CommonConvert.h:128
FColladaErrorHandler m_Err
Definition: CommonConvert.h:110
virtual ~OutputCB()
Definition: CommonConvert.h:46
bool IsXSI() const
Definition: CommonConvert.h:107
bool m_YUp
Definition: CommonConvert.h:114
bool IsYUp() const
Definition: CommonConvert.h:106
const FMMatrix44 & GetEntityTransform() const
Definition: CommonConvert.h:105
FColladaDocument m_Doc
Definition: CommonConvert.h:111
Definition: StdSkeletons.h:50