00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _CS_IVARIA_COLLADA_H
00020 #define _CS_IVARIA_COLLADA_H
00021
00022 #include <csutil/scf.h>
00023 #include <csutil/scf_implementation.h>
00024
00025
00026 struct iString;
00027 struct iFile;
00028 struct iDataBuffer;
00029 struct iDocumentNode;
00030
00035 enum csColladaFileType {
00036
00038 CS_LIBRARY_FILE = 1,
00039
00041 CS_MAP_FILE,
00042
00044 CS_NO_FILE
00045 };
00046
00047 enum csColladaNumericType {
00048
00050 CS_COLLADA_INTEGER = 1,
00051
00053 CS_COLLADA_FLOAT
00054 };
00055
00056 enum csColladaEffectProfileType {
00058 CS_COLLADA_PROFILE_COMMON = 1,
00059
00061 CS_COLLADA_PROFILE_CG,
00062
00064 CS_COLLADA_PROFILE_GLSL
00065
00066 };
00067
00079 struct iColladaConvertor : public virtual iBase
00080 {
00081 SCF_INTERFACE(iColladaConvertor, 1, 0, 0);
00082
00093 virtual const char* Load(const char *str) = 0;
00094
00105 virtual const char* Load(iString *str) = 0;
00106
00118 virtual const char* Load(iFile *file) = 0;
00119
00128 virtual const char* Load(iDataBuffer *db) = 0;
00129
00142 virtual const char* SetOutputFiletype(csColladaFileType filetype) = 0;
00143
00158 virtual const char* Write(const char* filepath) = 0;
00159
00163 virtual csRef<iDocument> GetCrystalDocument() = 0;
00164
00168 virtual csRef<iDocument> GetColladaDocument() = 0;
00169
00197 virtual const char* Convert() = 0;
00198
00209 virtual bool ConvertGeometry(iDocumentNode *geometrySection) = 0;
00210
00222 virtual bool ConvertEffects() = 0;
00223
00248 virtual bool ConvertScene(iDocumentNode *camerasSection, iDocumentNode *lightsSection, iDocumentNode *visualScenesSection) = 0;
00249
00253 virtual bool ConvertRiggingAnimation(iDocumentNode *riggingSection) = 0;
00254
00258 virtual bool ConvertPhysics(iDocumentNode *physicsSection) = 0;
00259
00273 virtual void SetWarnings(bool toggle=false) = 0;
00274
00281 virtual void SetSectorScene(bool toggle) = 0;
00282 };
00283
00284 #endif
00285