From 393b5cd1dc438872af89d334ef6e5fcc59f27d47 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 17:24:39 +1000 Subject: Added Irrlicht 1.8, but without all the Windows binaries. --- .../doc/html/_s_animated_mesh_8h_source.html | 278 +++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 libraries/irrlicht-1.8/doc/html/_s_animated_mesh_8h_source.html (limited to 'libraries/irrlicht-1.8/doc/html/_s_animated_mesh_8h_source.html') diff --git a/libraries/irrlicht-1.8/doc/html/_s_animated_mesh_8h_source.html b/libraries/irrlicht-1.8/doc/html/_s_animated_mesh_8h_source.html new file mode 100644 index 0000000..01b38df --- /dev/null +++ b/libraries/irrlicht-1.8/doc/html/_s_animated_mesh_8h_source.html @@ -0,0 +1,278 @@ + + +
+ +00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt +00002 // This file is part of the "Irrlicht Engine". +00003 // For conditions of distribution and use, see copyright notice in irrlicht.h +00004 +00005 #ifndef __S_ANIMATED_MESH_H_INCLUDED__ +00006 #define __S_ANIMATED_MESH_H_INCLUDED__ +00007 +00008 #include "IAnimatedMesh.h" +00009 #include "IMesh.h" +00010 #include "aabbox3d.h" +00011 #include "irrArray.h" +00012 +00013 namespace irr +00014 { +00015 namespace scene +00016 { +00017 +00019 struct SAnimatedMesh : public IAnimatedMesh +00020 { +00022 SAnimatedMesh(scene::IMesh* mesh=0, scene::E_ANIMATED_MESH_TYPE type=scene::EAMT_UNKNOWN) : IAnimatedMesh(), FramesPerSecond(25.f), Type(type) +00023 { +00024 #ifdef _DEBUG +00025 setDebugName("SAnimatedMesh"); +00026 #endif +00027 addMesh(mesh); +00028 recalculateBoundingBox(); +00029 } +00030 +00032 virtual ~SAnimatedMesh() +00033 { +00034 // drop meshes +00035 for (u32 i=0; i<Meshes.size(); ++i) +00036 Meshes[i]->drop(); +00037 } +00038 +00040 +00041 virtual u32 getFrameCount() const +00042 { +00043 return Meshes.size(); +00044 } +00045 +00047 +00048 virtual f32 getAnimationSpeed() const +00049 { +00050 return FramesPerSecond; +00051 } +00052 +00054 +00056 virtual void setAnimationSpeed(f32 fps) +00057 { +00058 FramesPerSecond=fps; +00059 } +00060 +00062 +00069 virtual IMesh* getMesh(s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1) +00070 { +00071 if (Meshes.empty()) +00072 return 0; +00073 +00074 return Meshes[frame]; +00075 } +00076 +00078 void addMesh(IMesh* mesh) +00079 { +00080 if (mesh) +00081 { +00082 mesh->grab(); +00083 Meshes.push_back(mesh); +00084 } +00085 } +00086 +00088 +00089 virtual const core::aabbox3d<f32>& getBoundingBox() const +00090 { +00091 return Box; +00092 } +00093 +00095 virtual void setBoundingBox(const core::aabbox3df& box) +00096 { +00097 Box = box; +00098 } +00099 +00101 void recalculateBoundingBox() +00102 { +00103 Box.reset(0,0,0); +00104 +00105 if (Meshes.empty()) +00106 return; +00107 +00108 Box = Meshes[0]->getBoundingBox(); +00109 +00110 for (u32 i=1; i<Meshes.size(); ++i) +00111 Box.addInternalBox(Meshes[i]->getBoundingBox()); +00112 } +00113 +00115 virtual E_ANIMATED_MESH_TYPE getMeshType() const +00116 { +00117 return Type; +00118 } +00119 +00121 virtual u32 getMeshBufferCount() const +00122 { +00123 if (Meshes.empty()) +00124 return 0; +00125 +00126 return Meshes[0]->getMeshBufferCount(); +00127 } +00128 +00130 virtual IMeshBuffer* getMeshBuffer(u32 nr) const +00131 { +00132 if (Meshes.empty()) +00133 return 0; +00134 +00135 return Meshes[0]->getMeshBuffer(nr); +00136 } +00137 +00139 +00142 virtual IMeshBuffer* getMeshBuffer( const video::SMaterial &material) const +00143 { +00144 if (Meshes.empty()) +00145 return 0; +00146 +00147 return Meshes[0]->getMeshBuffer(material); +00148 } +00149 +00151 virtual void setMaterialFlag(video::E_MATERIAL_FLAG flag, bool newvalue) +00152 { +00153 for (u32 i=0; i<Meshes.size(); ++i) +00154 Meshes[i]->setMaterialFlag(flag, newvalue); +00155 } +00156 +00158 virtual void setHardwareMappingHint( E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX ) +00159 { +00160 for (u32 i=0; i<Meshes.size(); ++i) +00161 Meshes[i]->setHardwareMappingHint(newMappingHint, buffer); +00162 } +00163 +00165 virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) +00166 { +00167 for (u32 i=0; i<Meshes.size(); ++i) +00168 Meshes[i]->setDirty(buffer); +00169 } +00170 +00172 core::array<IMesh*> Meshes; +00173 +00175 core::aabbox3d<f32> Box; +00176 +00178 f32 FramesPerSecond; +00179 +00181 E_ANIMATED_MESH_TYPE Type; +00182 }; +00183 +00184 +00185 } // end namespace scene +00186 } // end namespace irr +00187 +00188 #endif +00189 +