ivaria/collada.h
00001 /* 00002 Copyright (C) 2007 by Scott Johnson 00003 00004 This application is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This application is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public 00015 License along with this application; if not, write to the Free 00016 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 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 // Forward Declarations 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
Generated for Crystal Space 1.4.0 by doxygen 1.5.8