Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program 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 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov. 00019 * 00020 * ***** END GPL LICENSE BLOCK ***** 00021 */ 00022 00027 #ifndef __SCENEEXPORTER_H__ 00028 #define __SCENEEXPORTER_H__ 00029 00030 #include <stdlib.h> 00031 #include <stdio.h> 00032 #include <math.h> 00033 00034 extern "C" { 00035 #include "DNA_scene_types.h" 00036 #include "DNA_object_types.h" 00037 #include "DNA_group_types.h" 00038 #include "DNA_meshdata_types.h" 00039 #include "DNA_mesh_types.h" 00040 #include "DNA_image_types.h" 00041 #include "DNA_material_types.h" 00042 #include "DNA_texture_types.h" 00043 #include "DNA_anim_types.h" 00044 #include "DNA_action_types.h" 00045 #include "DNA_curve_types.h" 00046 #include "DNA_armature_types.h" 00047 #include "DNA_modifier_types.h" 00048 #include "DNA_userdef_types.h" 00049 00050 #include "BKE_DerivedMesh.h" 00051 #include "BKE_fcurve.h" 00052 #include "BKE_animsys.h" 00053 #include "BLI_path_util.h" 00054 #include "BLI_fileops.h" 00055 #include "ED_keyframing.h" 00056 } 00057 00058 #include "COLLADASWAsset.h" 00059 #include "COLLADASWLibraryVisualScenes.h" 00060 #include "COLLADASWNode.h" 00061 #include "COLLADASWSource.h" 00062 #include "COLLADASWInstanceGeometry.h" 00063 #include "COLLADASWInputList.h" 00064 #include "COLLADASWPrimitves.h" 00065 #include "COLLADASWVertices.h" 00066 #include "COLLADASWLibraryAnimations.h" 00067 #include "COLLADASWLibraryImages.h" 00068 #include "COLLADASWLibraryEffects.h" 00069 #include "COLLADASWImage.h" 00070 #include "COLLADASWEffectProfile.h" 00071 #include "COLLADASWColorOrTexture.h" 00072 #include "COLLADASWParamTemplate.h" 00073 #include "COLLADASWParamBase.h" 00074 #include "COLLADASWSurfaceInitOption.h" 00075 #include "COLLADASWSampler.h" 00076 #include "COLLADASWScene.h" 00077 #include "COLLADASWTechnique.h" 00078 #include "COLLADASWTexture.h" 00079 #include "COLLADASWLibraryMaterials.h" 00080 #include "COLLADASWBindMaterial.h" 00081 #include "COLLADASWInstanceCamera.h" 00082 #include "COLLADASWInstanceLight.h" 00083 #include "COLLADASWConstants.h" 00084 #include "COLLADASWLibraryControllers.h" 00085 #include "COLLADASWInstanceController.h" 00086 #include "COLLADASWInstanceNode.h" 00087 #include "COLLADASWBaseInputElement.h" 00088 00089 #include "ArmatureExporter.h" 00090 00091 #include "ExportSettings.h" 00092 00093 class SceneExporter: COLLADASW::LibraryVisualScenes, protected TransformWriter, protected InstanceWriter 00094 { 00095 public: 00096 SceneExporter(COLLADASW::StreamWriter *sw, ArmatureExporter *arm, const ExportSettings *export_settings); 00097 void exportScene(Scene *sce); 00098 00099 private: 00100 void exportHierarchy(Scene *sce); 00101 void writeNodes(Object *ob, Scene *sce); 00102 00103 ArmatureExporter *arm_exporter; 00104 const ExportSettings *export_settings; 00105 }; 00106 00107 #endif