shattered_ogrerb 0.5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (905) hide show
  1. data/lib/shattered_ogrerb.rb +17 -0
  2. data/lib/shattered_ogrerb/base.rb +28 -0
  3. data/lib/shattered_ogrerb/camera.rb +6 -0
  4. data/lib/shattered_ogrerb/key_manager.rb +54 -0
  5. data/lib/shattered_ogrerb/light.rb +5 -0
  6. data/lib/shattered_ogrerb/mesh_instance.rb +92 -0
  7. data/lib/shattered_ogrerb/rmaterial.rb +86 -0
  8. data/lib/shattered_ogrerb/vector.rb +211 -0
  9. data/vendor/Ogre/OIS.dll +0 -0
  10. data/vendor/Ogre/OgreGUIRenderer.dll +0 -0
  11. data/vendor/Ogre/OgreMain.dll +0 -0
  12. data/vendor/Ogre/Plugin_BSPSceneManager.dll +0 -0
  13. data/vendor/Ogre/Plugin_CgProgramManager.dll +0 -0
  14. data/vendor/Ogre/Plugin_OctreeSceneManager.dll +0 -0
  15. data/vendor/Ogre/Plugin_ParticleFX.dll +0 -0
  16. data/vendor/Ogre/RenderSystem_Direct3D9.dll +0 -0
  17. data/vendor/Ogre/RenderSystem_GL.dll +0 -0
  18. data/vendor/Ogre/cg.dll +0 -0
  19. data/vendor/Ogre/plugins.cfg +9 -0
  20. data/vendor/ogrerb/MIT_LICENCE +19 -0
  21. data/vendor/ogrerb/README +79 -0
  22. data/vendor/ogrerb/Rakefile +220 -0
  23. data/vendor/ogrerb/build/navi/extconf.rb +53 -0
  24. data/vendor/ogrerb/build/ogre/extconf.rb +50 -0
  25. data/vendor/ogrerb/build/ois/extconf.rb +48 -0
  26. data/vendor/ogrerb/doc_src/ogre.rb +152 -0
  27. data/vendor/ogrerb/doc_src/ois.rb +67 -0
  28. data/vendor/ogrerb/lib/constants.rb +35 -0
  29. data/vendor/ogrerb/lib/ogre.dll +0 -0
  30. data/vendor/ogrerb/lib/ruby_ois.dll +0 -0
  31. data/vendor/ogrerb/navi/Navi.i +5 -0
  32. data/vendor/ogrerb/navi/NaviData.i +18 -0
  33. data/vendor/ogrerb/navi/NaviManager.i +5 -0
  34. data/vendor/ogrerb/navi/NaviProxies.i +7 -0
  35. data/vendor/ogrerb/navi/lib/Navi.lib +0 -0
  36. data/vendor/ogrerb/navi/lib/Navi_d.lib +0 -0
  37. data/vendor/ogrerb/navi/lib/llmozlib.lib +0 -0
  38. data/vendor/ogrerb/navi/lib/llmozlib_d.lib +0 -0
  39. data/vendor/ogrerb/navi/navi_rb.i +53 -0
  40. data/vendor/ogrerb/navi/std_multimap.i +581 -0
  41. data/vendor/ogrerb/ogre.rb +23 -0
  42. data/vendor/ogrerb/ogre/Application.i +59 -0
  43. data/vendor/ogrerb/ogre/ApplicationFrameListener.i +67 -0
  44. data/vendor/ogrerb/ogre/ExampleApplication.i +7 -0
  45. data/vendor/ogrerb/ogre/ExampleFrameListener.i +7 -0
  46. data/vendor/ogrerb/ogre/OgreAlignedAllocator.i +5 -0
  47. data/vendor/ogrerb/ogre/OgreAnimable.i +5 -0
  48. data/vendor/ogrerb/ogre/OgreAnimation.i +5 -0
  49. data/vendor/ogrerb/ogre/OgreAnimationState.i +9 -0
  50. data/vendor/ogrerb/ogre/OgreAnimationTrack.i +5 -0
  51. data/vendor/ogrerb/ogre/OgreAny.i +5 -0
  52. data/vendor/ogrerb/ogre/OgreArchive.i +5 -0
  53. data/vendor/ogrerb/ogre/OgreArchiveFactory.i +5 -0
  54. data/vendor/ogrerb/ogre/OgreArchiveManager.i +5 -0
  55. data/vendor/ogrerb/ogre/OgreAutoParamDataSource.i +5 -0
  56. data/vendor/ogrerb/ogre/OgreAxisAlignedBox.i +5 -0
  57. data/vendor/ogrerb/ogre/OgreBillboard.i +5 -0
  58. data/vendor/ogrerb/ogre/OgreBillboardChain.i +11 -0
  59. data/vendor/ogrerb/ogre/OgreBillboardParticleRenderer.i +5 -0
  60. data/vendor/ogrerb/ogre/OgreBillboardSet.i +5 -0
  61. data/vendor/ogrerb/ogre/OgreBitwise.i +5 -0
  62. data/vendor/ogrerb/ogre/OgreBlendMode.i +5 -0
  63. data/vendor/ogrerb/ogre/OgreBone.i +5 -0
  64. data/vendor/ogrerb/ogre/OgreBorderPanelOverlayElement.i +5 -0
  65. data/vendor/ogrerb/ogre/OgreCamera.i +5 -0
  66. data/vendor/ogrerb/ogre/OgreCodec.i +5 -0
  67. data/vendor/ogrerb/ogre/OgreColourValue.i +5 -0
  68. data/vendor/ogrerb/ogre/OgreCommon.i +33 -0
  69. data/vendor/ogrerb/ogre/OgreCompiler2Pass.i +5 -0
  70. data/vendor/ogrerb/ogre/OgreCompositionPass.i +5 -0
  71. data/vendor/ogrerb/ogre/OgreCompositionTargetPass.i +5 -0
  72. data/vendor/ogrerb/ogre/OgreCompositionTechnique.i +5 -0
  73. data/vendor/ogrerb/ogre/OgreCompositor.i +5 -0
  74. data/vendor/ogrerb/ogre/OgreCompositorChain.i +5 -0
  75. data/vendor/ogrerb/ogre/OgreCompositorInstance.i +5 -0
  76. data/vendor/ogrerb/ogre/OgreCompositorManager.i +5 -0
  77. data/vendor/ogrerb/ogre/OgreCompositorScriptCompiler.i +5 -0
  78. data/vendor/ogrerb/ogre/OgreCompositorSerializer.i +5 -0
  79. data/vendor/ogrerb/ogre/OgreConfig.i +5 -0
  80. data/vendor/ogrerb/ogre/OgreConfigDialog.i +5 -0
  81. data/vendor/ogrerb/ogre/OgreConfigFile.i +13 -0
  82. data/vendor/ogrerb/ogre/OgreConfigOptionMap.i +5 -0
  83. data/vendor/ogrerb/ogre/OgreController.i +5 -0
  84. data/vendor/ogrerb/ogre/OgreControllerManager.i +5 -0
  85. data/vendor/ogrerb/ogre/OgreConvexBody.i +5 -0
  86. data/vendor/ogrerb/ogre/OgreDDSCodec.i +5 -0
  87. data/vendor/ogrerb/ogre/OgreDataStream.i +9 -0
  88. data/vendor/ogrerb/ogre/OgreDefaultHardwareBufferManager.i +5 -0
  89. data/vendor/ogrerb/ogre/OgreDynLib.i +5 -0
  90. data/vendor/ogrerb/ogre/OgreDynLibManager.i +5 -0
  91. data/vendor/ogrerb/ogre/OgreEdgeListBuilder.i +5 -0
  92. data/vendor/ogrerb/ogre/OgreEntity.i +5 -0
  93. data/vendor/ogrerb/ogre/OgreErrorDialog.i +5 -0
  94. data/vendor/ogrerb/ogre/OgreException.i +5 -0
  95. data/vendor/ogrerb/ogre/OgreExternalTextureSource.i +5 -0
  96. data/vendor/ogrerb/ogre/OgreExternalTextureSourceManager.i +5 -0
  97. data/vendor/ogrerb/ogre/OgreFactoryObj.i +5 -0
  98. data/vendor/ogrerb/ogre/OgreFileSystem.i +5 -0
  99. data/vendor/ogrerb/ogre/OgreFont.i +5 -0
  100. data/vendor/ogrerb/ogre/OgreFontManager.i +5 -0
  101. data/vendor/ogrerb/ogre/OgreFrameListener.i +12 -0
  102. data/vendor/ogrerb/ogre/OgreFreeImageCodec.i +5 -0
  103. data/vendor/ogrerb/ogre/OgreFrustum.i +5 -0
  104. data/vendor/ogrerb/ogre/OgreGpuProgram.i +5 -0
  105. data/vendor/ogrerb/ogre/OgreGpuProgramManager.i +5 -0
  106. data/vendor/ogrerb/ogre/OgreGpuProgramUsage.i +5 -0
  107. data/vendor/ogrerb/ogre/OgreHardwareBuffer.i +5 -0
  108. data/vendor/ogrerb/ogre/OgreHardwareBufferManager.i +9 -0
  109. data/vendor/ogrerb/ogre/OgreHardwareIndexBuffer.i +9 -0
  110. data/vendor/ogrerb/ogre/OgreHardwareOcclusionQuery.i +5 -0
  111. data/vendor/ogrerb/ogre/OgreHardwarePixelBuffer.i +9 -0
  112. data/vendor/ogrerb/ogre/OgreHardwareVertexBuffer.i +10 -0
  113. data/vendor/ogrerb/ogre/OgreHighLevelGpuProgram.i +5 -0
  114. data/vendor/ogrerb/ogre/OgreHighLevelGpuProgramManager.i +5 -0
  115. data/vendor/ogrerb/ogre/OgreImage.i +5 -0
  116. data/vendor/ogrerb/ogre/OgreImageCodec.i +5 -0
  117. data/vendor/ogrerb/ogre/OgreInstancedGeometry.i +5 -0
  118. data/vendor/ogrerb/ogre/OgreIteratorWrappers.i +5 -0
  119. data/vendor/ogrerb/ogre/OgreKeyFrame.i +7 -0
  120. data/vendor/ogrerb/ogre/OgreLight.i +5 -0
  121. data/vendor/ogrerb/ogre/OgreLog.i +5 -0
  122. data/vendor/ogrerb/ogre/OgreLogManager.i +9 -0
  123. data/vendor/ogrerb/ogre/OgreManualObject.i +5 -0
  124. data/vendor/ogrerb/ogre/OgreMaterial.i +9 -0
  125. data/vendor/ogrerb/ogre/OgreMaterialManager.i +22 -0
  126. data/vendor/ogrerb/ogre/OgreMaterialScriptCompiler.i +5 -0
  127. data/vendor/ogrerb/ogre/OgreMaterialSerializer.i +5 -0
  128. data/vendor/ogrerb/ogre/OgreMath.i +48 -0
  129. data/vendor/ogrerb/ogre/OgreMatrix3.i +5 -0
  130. data/vendor/ogrerb/ogre/OgreMatrix4.i +5 -0
  131. data/vendor/ogrerb/ogre/OgreMemoryMacros.i +5 -0
  132. data/vendor/ogrerb/ogre/OgreMemoryManager.i +5 -0
  133. data/vendor/ogrerb/ogre/OgreMesh.i +11 -0
  134. data/vendor/ogrerb/ogre/OgreMeshFileFormat.i +5 -0
  135. data/vendor/ogrerb/ogre/OgreMeshManager.i +9 -0
  136. data/vendor/ogrerb/ogre/OgreMeshSerializer.i +5 -0
  137. data/vendor/ogrerb/ogre/OgreMeshSerializerImpl.i +5 -0
  138. data/vendor/ogrerb/ogre/OgreMovableObject.i +46 -0
  139. data/vendor/ogrerb/ogre/OgreMovablePlane.i +5 -0
  140. data/vendor/ogrerb/ogre/OgreNoMemoryMacros.i +5 -0
  141. data/vendor/ogrerb/ogre/OgreNode.i +11 -0
  142. data/vendor/ogrerb/ogre/OgreNumerics.i +5 -0
  143. data/vendor/ogrerb/ogre/OgreOverlay.i +5 -0
  144. data/vendor/ogrerb/ogre/OgreOverlayContainer.i +5 -0
  145. data/vendor/ogrerb/ogre/OgreOverlayElement.i +5 -0
  146. data/vendor/ogrerb/ogre/OgreOverlayElementCommands.i +5 -0
  147. data/vendor/ogrerb/ogre/OgreOverlayElementFactory.i +5 -0
  148. data/vendor/ogrerb/ogre/OgreOverlayManager.i +9 -0
  149. data/vendor/ogrerb/ogre/OgrePanelOverlayElement.i +5 -0
  150. data/vendor/ogrerb/ogre/OgreParticle.i +5 -0
  151. data/vendor/ogrerb/ogre/OgreParticleAffector.i +5 -0
  152. data/vendor/ogrerb/ogre/OgreParticleAffectorFactory.i +5 -0
  153. data/vendor/ogrerb/ogre/OgreParticleEmitter.i +5 -0
  154. data/vendor/ogrerb/ogre/OgreParticleEmitterCommands.i +5 -0
  155. data/vendor/ogrerb/ogre/OgreParticleEmitterFactory.i +5 -0
  156. data/vendor/ogrerb/ogre/OgreParticleIterator.i +5 -0
  157. data/vendor/ogrerb/ogre/OgreParticleSystem.i +9 -0
  158. data/vendor/ogrerb/ogre/OgreParticleSystemManager.i +9 -0
  159. data/vendor/ogrerb/ogre/OgreParticleSystemRenderer.i +9 -0
  160. data/vendor/ogrerb/ogre/OgrePass.i +10 -0
  161. data/vendor/ogrerb/ogre/OgrePatchMesh.i +11 -0
  162. data/vendor/ogrerb/ogre/OgrePatchSurface.i +5 -0
  163. data/vendor/ogrerb/ogre/OgrePixelFormat.i +5 -0
  164. data/vendor/ogrerb/ogre/OgrePlane.i +5 -0
  165. data/vendor/ogrerb/ogre/OgrePlaneBoundedVolume.i +5 -0
  166. data/vendor/ogrerb/ogre/OgrePlatform.i +5 -0
  167. data/vendor/ogrerb/ogre/OgrePlugin.i +5 -0
  168. data/vendor/ogrerb/ogre/OgrePolygon.i +5 -0
  169. data/vendor/ogrerb/ogre/OgrePose.i +5 -0
  170. data/vendor/ogrerb/ogre/OgrePredefinedControllers.i +5 -0
  171. data/vendor/ogrerb/ogre/OgrePrefabFactory.i +5 -0
  172. data/vendor/ogrerb/ogre/OgrePrerequisites.i +5 -0
  173. data/vendor/ogrerb/ogre/OgreProfiler.i +5 -0
  174. data/vendor/ogrerb/ogre/OgreProgressiveMesh.i +5 -0
  175. data/vendor/ogrerb/ogre/OgreProxies.i +10 -0
  176. data/vendor/ogrerb/ogre/OgreQuaternion.i +5 -0
  177. data/vendor/ogrerb/ogre/OgreRadixSort.i +5 -0
  178. data/vendor/ogrerb/ogre/OgreRay.i +5 -0
  179. data/vendor/ogrerb/ogre/OgreRectangle.i +5 -0
  180. data/vendor/ogrerb/ogre/OgreRectangle2D.i +5 -0
  181. data/vendor/ogrerb/ogre/OgreRenderOperation.i +5 -0
  182. data/vendor/ogrerb/ogre/OgreRenderQueue.i +10 -0
  183. data/vendor/ogrerb/ogre/OgreRenderQueueInvocation.i +5 -0
  184. data/vendor/ogrerb/ogre/OgreRenderQueueListener.i +5 -0
  185. data/vendor/ogrerb/ogre/OgreRenderQueueSortingGrouping.i +5 -0
  186. data/vendor/ogrerb/ogre/OgreRenderSystem.i +12 -0
  187. data/vendor/ogrerb/ogre/OgreRenderSystemCapabilities.i +7 -0
  188. data/vendor/ogrerb/ogre/OgreRenderTarget.i +27 -0
  189. data/vendor/ogrerb/ogre/OgreRenderTargetListener.i +7 -0
  190. data/vendor/ogrerb/ogre/OgreRenderTexture.i +5 -0
  191. data/vendor/ogrerb/ogre/OgreRenderWindow.i +9 -0
  192. data/vendor/ogrerb/ogre/OgreRenderable.i +5 -0
  193. data/vendor/ogrerb/ogre/OgreResource.i +68 -0
  194. data/vendor/ogrerb/ogre/OgreResourceBackgroundQueue.i +5 -0
  195. data/vendor/ogrerb/ogre/OgreResourceGroupManager.i +17 -0
  196. data/vendor/ogrerb/ogre/OgreResourceManager.i +5 -0
  197. data/vendor/ogrerb/ogre/OgreRibbonTrail.i +5 -0
  198. data/vendor/ogrerb/ogre/OgreRoot.i +9 -0
  199. data/vendor/ogrerb/ogre/OgreRotationalSpline.i +5 -0
  200. data/vendor/ogrerb/ogre/OgreSceneManager.i +17 -0
  201. data/vendor/ogrerb/ogre/OgreSceneManagerEnumerator.i +8 -0
  202. data/vendor/ogrerb/ogre/OgreSceneNode.i +9 -0
  203. data/vendor/ogrerb/ogre/OgreSceneQuery.i +5 -0
  204. data/vendor/ogrerb/ogre/OgreScriptLoader.i +5 -0
  205. data/vendor/ogrerb/ogre/OgreSearchOps.i +5 -0
  206. data/vendor/ogrerb/ogre/OgreSerializer.i +5 -0
  207. data/vendor/ogrerb/ogre/OgreShadowCameraSetup.i +5 -0
  208. data/vendor/ogrerb/ogre/OgreShadowCameraSetupFocused.i +5 -0
  209. data/vendor/ogrerb/ogre/OgreShadowCameraSetupLiSPSM.i +5 -0
  210. data/vendor/ogrerb/ogre/OgreShadowCameraSetupPlaneOptimal.i +5 -0
  211. data/vendor/ogrerb/ogre/OgreShadowCaster.i +5 -0
  212. data/vendor/ogrerb/ogre/OgreShadowTextureManager.i +7 -0
  213. data/vendor/ogrerb/ogre/OgreShadowVolumeExtrudeProgram.i +5 -0
  214. data/vendor/ogrerb/ogre/OgreSharedPtr.i +5 -0
  215. data/vendor/ogrerb/ogre/OgreSimpleRenderable.i +5 -0
  216. data/vendor/ogrerb/ogre/OgreSimpleSpline.i +5 -0
  217. data/vendor/ogrerb/ogre/OgreSingleton.i +9 -0
  218. data/vendor/ogrerb/ogre/OgreSkeleton.i +5 -0
  219. data/vendor/ogrerb/ogre/OgreSkeletonFileFormat.i +5 -0
  220. data/vendor/ogrerb/ogre/OgreSkeletonInstance.i +5 -0
  221. data/vendor/ogrerb/ogre/OgreSkeletonManager.i +5 -0
  222. data/vendor/ogrerb/ogre/OgreSkeletonSerializer.i +5 -0
  223. data/vendor/ogrerb/ogre/OgreSphere.i +5 -0
  224. data/vendor/ogrerb/ogre/OgreSpotShadowFadePng.i +5 -0
  225. data/vendor/ogrerb/ogre/OgreStableHeaders.i +5 -0
  226. data/vendor/ogrerb/ogre/OgreStaticFaceGroup.i +5 -0
  227. data/vendor/ogrerb/ogre/OgreStaticGeometry.i +5 -0
  228. data/vendor/ogrerb/ogre/OgreStdHeaders.i +5 -0
  229. data/vendor/ogrerb/ogre/OgreString.i +5 -0
  230. data/vendor/ogrerb/ogre/OgreStringConverter.i +5 -0
  231. data/vendor/ogrerb/ogre/OgreStringInterface.i +5 -0
  232. data/vendor/ogrerb/ogre/OgreStringVector.i +5 -0
  233. data/vendor/ogrerb/ogre/OgreSubEntity.i +5 -0
  234. data/vendor/ogrerb/ogre/OgreSubMesh.i +5 -0
  235. data/vendor/ogrerb/ogre/OgreTagPoint.i +5 -0
  236. data/vendor/ogrerb/ogre/OgreTechnique.i +5 -0
  237. data/vendor/ogrerb/ogre/OgreTextAreaOverlayElement.i +5 -0
  238. data/vendor/ogrerb/ogre/OgreTexture.i +9 -0
  239. data/vendor/ogrerb/ogre/OgreTextureManager.i +12 -0
  240. data/vendor/ogrerb/ogre/OgreTextureUnitState.i +12 -0
  241. data/vendor/ogrerb/ogre/OgreTimer.i +6 -0
  242. data/vendor/ogrerb/ogre/OgreUTFString.i +5 -0
  243. data/vendor/ogrerb/ogre/OgreUnifiedHighLevelGpuProgram.i +5 -0
  244. data/vendor/ogrerb/ogre/OgreUserDefinedObject.i +5 -0
  245. data/vendor/ogrerb/ogre/OgreVector2.i +5 -0
  246. data/vendor/ogrerb/ogre/OgreVector3.i +30 -0
  247. data/vendor/ogrerb/ogre/OgreVector4.i +5 -0
  248. data/vendor/ogrerb/ogre/OgreVertexBoneAssignment.i +5 -0
  249. data/vendor/ogrerb/ogre/OgreVertexIndexData.i +5 -0
  250. data/vendor/ogrerb/ogre/OgreViewport.i +5 -0
  251. data/vendor/ogrerb/ogre/OgreWindowEventUtilities.i +7 -0
  252. data/vendor/ogrerb/ogre/OgreWireBoundingBox.i +5 -0
  253. data/vendor/ogrerb/ogre/OgreZip.i +5 -0
  254. data/vendor/ogrerb/ogre/ogre_rb.i +343 -0
  255. data/vendor/ogrerb/ogre/std_multimap.i +581 -0
  256. data/vendor/ogrerb/ois/OISProxies.i +9 -0
  257. data/vendor/ogrerb/ois/OISRenames.i +11 -0
  258. data/vendor/ogrerb/ois/ois.i +135 -0
  259. data/vendor/ogrerb/ois/std_multimap.i +581 -0
  260. data/vendor/ogrerb/platform.rb +23 -0
  261. data/vendor/ogrerb/samples/application.rb +146 -0
  262. data/vendor/ogrerb/samples/application_frame_listener.rb +302 -0
  263. data/vendor/ogrerb/samples/application_loading_bar.rb +115 -0
  264. data/vendor/ogrerb/samples/bsp.rb +74 -0
  265. data/vendor/ogrerb/samples/cg.dll +0 -0
  266. data/vendor/ogrerb/samples/js3250.dll +0 -0
  267. data/vendor/ogrerb/samples/lighting.rb +136 -0
  268. data/vendor/ogrerb/samples/media/materials/scripts/CloudySky.material +17 -0
  269. data/vendor/ogrerb/samples/media/materials/scripts/Flare.material +17 -0
  270. data/vendor/ogrerb/samples/media/materials/scripts/Knot.material +14 -0
  271. data/vendor/ogrerb/samples/media/materials/scripts/MorningSkyBox.material +17 -0
  272. data/vendor/ogrerb/samples/media/materials/scripts/Ogre.material +119 -0
  273. data/vendor/ogrerb/samples/media/materials/scripts/Razor.material +14 -0
  274. data/vendor/ogrerb/samples/media/materials/scripts/Ribbon.material +19 -0
  275. data/vendor/ogrerb/samples/media/materials/scripts/RustySteel.material +14 -0
  276. data/vendor/ogrerb/samples/media/materials/scripts/SpaceSkyBox.material +17 -0
  277. data/vendor/ogrerb/samples/media/materials/scripts/SpaceSkyPlane.material +17 -0
  278. data/vendor/ogrerb/samples/media/materials/scripts/TextureEffects.material +15 -0
  279. data/vendor/ogrerb/samples/media/materials/scripts/dragon.material +42 -0
  280. data/vendor/ogrerb/samples/media/materials/scripts/smoke.material +18 -0
  281. data/vendor/ogrerb/samples/media/materials/textures/GreenSkin.jpg +0 -0
  282. data/vendor/ogrerb/samples/media/materials/textures/MtlPlat2.jpg +0 -0
  283. data/vendor/ogrerb/samples/media/materials/textures/RustedMetal.jpg +0 -0
  284. data/vendor/ogrerb/samples/media/materials/textures/RustySteel.jpg +0 -0
  285. data/vendor/ogrerb/samples/media/materials/textures/Water02.jpg +0 -0
  286. data/vendor/ogrerb/samples/media/materials/textures/WeirdEye.png +0 -0
  287. data/vendor/ogrerb/samples/media/materials/textures/clouds.jpg +0 -0
  288. data/vendor/ogrerb/samples/media/materials/textures/cursor.png +0 -0
  289. data/vendor/ogrerb/samples/media/materials/textures/dirt01.jpg +0 -0
  290. data/vendor/ogrerb/samples/media/materials/textures/flare.png +0 -0
  291. data/vendor/ogrerb/samples/media/materials/textures/ogreborder.png +0 -0
  292. data/vendor/ogrerb/samples/media/materials/textures/ogreborderUp.png +0 -0
  293. data/vendor/ogrerb/samples/media/materials/textures/ribbonband.png +0 -0
  294. data/vendor/ogrerb/samples/media/materials/textures/smoke.png +0 -0
  295. data/vendor/ogrerb/samples/media/materials/textures/smokecolors.png +0 -0
  296. data/vendor/ogrerb/samples/media/materials/textures/spacesky.jpg +0 -0
  297. data/vendor/ogrerb/samples/media/materials/textures/spheremap.png +0 -0
  298. data/vendor/ogrerb/samples/media/materials/textures/texmap2.jpg +0 -0
  299. data/vendor/ogrerb/samples/media/models/knot.mesh +0 -0
  300. data/vendor/ogrerb/samples/media/models/ogrehead.mesh +0 -0
  301. data/vendor/ogrerb/samples/media/models/razor.mesh +0 -0
  302. data/vendor/ogrerb/samples/media/packs/OgreCore.zip +0 -0
  303. data/vendor/ogrerb/samples/media/packs/chiropteraDM.pk3 +0 -0
  304. data/vendor/ogrerb/samples/media/packs/chiropteraDM.txt +99 -0
  305. data/vendor/ogrerb/samples/media/packs/cubemap.zip +0 -0
  306. data/vendor/ogrerb/samples/media/packs/cubemapsJS.zip +0 -0
  307. data/vendor/ogrerb/samples/media/packs/dragon.zip +0 -0
  308. data/vendor/ogrerb/samples/media/packs/skybox.zip +0 -0
  309. data/vendor/ogrerb/samples/media/particles/smoke.particle +43 -0
  310. data/vendor/ogrerb/samples/navi/Media/NaviDemo.material +60 -0
  311. data/vendor/ogrerb/samples/navi/Media/OgreCore.zip +0 -0
  312. data/vendor/ogrerb/samples/navi/Media/cerulean.jpg +0 -0
  313. data/vendor/ogrerb/samples/navi/Media/clouds.jpg +0 -0
  314. data/vendor/ogrerb/samples/navi/Media/controlsNaviMask.png +0 -0
  315. data/vendor/ogrerb/samples/navi/Media/grass.jpg +0 -0
  316. data/vendor/ogrerb/samples/navi/Media/knot.mesh +0 -0
  317. data/vendor/ogrerb/samples/navi/Media/testNaviMask.png +0 -0
  318. data/vendor/ogrerb/samples/navi/NaviLocal/Navi.js +136 -0
  319. data/vendor/ogrerb/samples/navi/NaviLocal/buttonBg.jpg +0 -0
  320. data/vendor/ogrerb/samples/navi/NaviLocal/controls.html +303 -0
  321. data/vendor/ogrerb/samples/navi/NaviLocal/knobBg.jpg +0 -0
  322. data/vendor/ogrerb/samples/navi/NaviLocal/moo.dropdownmenu.js +87 -0
  323. data/vendor/ogrerb/samples/navi/NaviLocal/mootools.v1.1.js +6964 -0
  324. data/vendor/ogrerb/samples/navi/NaviLocal/naviLogo.html +32 -0
  325. data/vendor/ogrerb/samples/navi/NaviLocal/naviLogo.png +0 -0
  326. data/vendor/ogrerb/samples/navi/NaviLocal/pageBg.jpg +0 -0
  327. data/vendor/ogrerb/samples/navi/NaviLocal/sliderBg.jpg +0 -0
  328. data/vendor/ogrerb/samples/navi/NaviLocal/test.html +5 -0
  329. data/vendor/ogrerb/samples/navi/NaviLocal/welcome.html +36 -0
  330. data/vendor/ogrerb/samples/navi/NaviLocal/welcome.png +0 -0
  331. data/vendor/ogrerb/samples/navi/chrome/chromelist.txt +597 -0
  332. data/vendor/ogrerb/samples/navi/chrome/classic.jar +0 -0
  333. data/vendor/ogrerb/samples/navi/chrome/classic.manifest +4 -0
  334. data/vendor/ogrerb/samples/navi/chrome/comm.jar +0 -0
  335. data/vendor/ogrerb/samples/navi/chrome/comm.manifest +2 -0
  336. data/vendor/ogrerb/samples/navi/chrome/en-US.jar +0 -0
  337. data/vendor/ogrerb/samples/navi/chrome/en-US.manifest +9 -0
  338. data/vendor/ogrerb/samples/navi/chrome/toolkit.jar +0 -0
  339. data/vendor/ogrerb/samples/navi/chrome/toolkit.manifest +6 -0
  340. data/vendor/ogrerb/samples/navi/components/FeedProcessor.js +1825 -0
  341. data/vendor/ogrerb/samples/navi/components/alerts.xpt +0 -0
  342. data/vendor/ogrerb/samples/navi/components/appshell.xpt +0 -0
  343. data/vendor/ogrerb/samples/navi/components/appstartup.xpt +0 -0
  344. data/vendor/ogrerb/samples/navi/components/auth.dll +0 -0
  345. data/vendor/ogrerb/samples/navi/components/autocomplete.xpt +0 -0
  346. data/vendor/ogrerb/samples/navi/components/autoconfig.dll +0 -0
  347. data/vendor/ogrerb/samples/navi/components/autoconfig.xpt +0 -0
  348. data/vendor/ogrerb/samples/navi/components/caps.xpt +0 -0
  349. data/vendor/ogrerb/samples/navi/components/chardet.xpt +0 -0
  350. data/vendor/ogrerb/samples/navi/components/chrome.xpt +0 -0
  351. data/vendor/ogrerb/samples/navi/components/commandhandler.xpt +0 -0
  352. data/vendor/ogrerb/samples/navi/components/commandlines.xpt +0 -0
  353. data/vendor/ogrerb/samples/navi/components/composer.xpt +0 -0
  354. data/vendor/ogrerb/samples/navi/components/compreg.dat +1474 -0
  355. data/vendor/ogrerb/samples/navi/components/content_base.xpt +0 -0
  356. data/vendor/ogrerb/samples/navi/components/content_html.xpt +0 -0
  357. data/vendor/ogrerb/samples/navi/components/content_htmldoc.xpt +0 -0
  358. data/vendor/ogrerb/samples/navi/components/content_xmldoc.xpt +0 -0
  359. data/vendor/ogrerb/samples/navi/components/content_xslt.xpt +0 -0
  360. data/vendor/ogrerb/samples/navi/components/content_xtf.xpt +0 -0
  361. data/vendor/ogrerb/samples/navi/components/directory.xpt +0 -0
  362. data/vendor/ogrerb/samples/navi/components/docshell_base.xpt +0 -0
  363. data/vendor/ogrerb/samples/navi/components/dom.xpt +0 -0
  364. data/vendor/ogrerb/samples/navi/components/dom_base.xpt +0 -0
  365. data/vendor/ogrerb/samples/navi/components/dom_canvas.xpt +0 -0
  366. data/vendor/ogrerb/samples/navi/components/dom_core.xpt +0 -0
  367. data/vendor/ogrerb/samples/navi/components/dom_css.xpt +0 -0
  368. data/vendor/ogrerb/samples/navi/components/dom_events.xpt +0 -0
  369. data/vendor/ogrerb/samples/navi/components/dom_html.xpt +0 -0
  370. data/vendor/ogrerb/samples/navi/components/dom_loadsave.xpt +0 -0
  371. data/vendor/ogrerb/samples/navi/components/dom_range.xpt +0 -0
  372. data/vendor/ogrerb/samples/navi/components/dom_sidebar.xpt +0 -0
  373. data/vendor/ogrerb/samples/navi/components/dom_storage.xpt +0 -0
  374. data/vendor/ogrerb/samples/navi/components/dom_stylesheets.xpt +0 -0
  375. data/vendor/ogrerb/samples/navi/components/dom_svg.xpt +0 -0
  376. data/vendor/ogrerb/samples/navi/components/dom_traversal.xpt +0 -0
  377. data/vendor/ogrerb/samples/navi/components/dom_views.xpt +0 -0
  378. data/vendor/ogrerb/samples/navi/components/dom_xbl.xpt +0 -0
  379. data/vendor/ogrerb/samples/navi/components/dom_xpath.xpt +0 -0
  380. data/vendor/ogrerb/samples/navi/components/dom_xul.xpt +0 -0
  381. data/vendor/ogrerb/samples/navi/components/downloads.xpt +0 -0
  382. data/vendor/ogrerb/samples/navi/components/editor.xpt +0 -0
  383. data/vendor/ogrerb/samples/navi/components/embed_base.xpt +0 -0
  384. data/vendor/ogrerb/samples/navi/components/extensions.xpt +0 -0
  385. data/vendor/ogrerb/samples/navi/components/exthandler.xpt +0 -0
  386. data/vendor/ogrerb/samples/navi/components/fastfind.xpt +0 -0
  387. data/vendor/ogrerb/samples/navi/components/feeds.xpt +0 -0
  388. data/vendor/ogrerb/samples/navi/components/find.xpt +0 -0
  389. data/vendor/ogrerb/samples/navi/components/gfx.xpt +0 -0
  390. data/vendor/ogrerb/samples/navi/components/gksvgrenderer.xpt +0 -0
  391. data/vendor/ogrerb/samples/navi/components/history.xpt +0 -0
  392. data/vendor/ogrerb/samples/navi/components/htmlparser.xpt +0 -0
  393. data/vendor/ogrerb/samples/navi/components/imglib2.xpt +0 -0
  394. data/vendor/ogrerb/samples/navi/components/inspector.xpt +0 -0
  395. data/vendor/ogrerb/samples/navi/components/intl.xpt +0 -0
  396. data/vendor/ogrerb/samples/navi/components/intlcmpt.xpt +0 -0
  397. data/vendor/ogrerb/samples/navi/components/jar.xpt +0 -0
  398. data/vendor/ogrerb/samples/navi/components/jsconsole-clhandler.js +170 -0
  399. data/vendor/ogrerb/samples/navi/components/jsconsole.xpt +0 -0
  400. data/vendor/ogrerb/samples/navi/components/jsdservice.xpt +0 -0
  401. data/vendor/ogrerb/samples/navi/components/layout_base.xpt +0 -0
  402. data/vendor/ogrerb/samples/navi/components/layout_printing.xpt +0 -0
  403. data/vendor/ogrerb/samples/navi/components/layout_xul.xpt +0 -0
  404. data/vendor/ogrerb/samples/navi/components/layout_xul_tree.xpt +0 -0
  405. data/vendor/ogrerb/samples/navi/components/locale.xpt +0 -0
  406. data/vendor/ogrerb/samples/navi/components/lwbrk.xpt +0 -0
  407. data/vendor/ogrerb/samples/navi/components/mimetype.xpt +0 -0
  408. data/vendor/ogrerb/samples/navi/components/mozbrwsr.xpt +0 -0
  409. data/vendor/ogrerb/samples/navi/components/mozfind.xpt +0 -0
  410. data/vendor/ogrerb/samples/navi/components/necko.xpt +0 -0
  411. data/vendor/ogrerb/samples/navi/components/necko_about.xpt +0 -0
  412. data/vendor/ogrerb/samples/navi/components/necko_cache.xpt +0 -0
  413. data/vendor/ogrerb/samples/navi/components/necko_cookie.xpt +0 -0
  414. data/vendor/ogrerb/samples/navi/components/necko_data.xpt +0 -0
  415. data/vendor/ogrerb/samples/navi/components/necko_dns.xpt +0 -0
  416. data/vendor/ogrerb/samples/navi/components/necko_file.xpt +0 -0
  417. data/vendor/ogrerb/samples/navi/components/necko_ftp.xpt +0 -0
  418. data/vendor/ogrerb/samples/navi/components/necko_http.xpt +0 -0
  419. data/vendor/ogrerb/samples/navi/components/necko_res.xpt +0 -0
  420. data/vendor/ogrerb/samples/navi/components/necko_socket.xpt +0 -0
  421. data/vendor/ogrerb/samples/navi/components/necko_strconv.xpt +0 -0
  422. data/vendor/ogrerb/samples/navi/components/necko_viewsource.xpt +0 -0
  423. data/vendor/ogrerb/samples/navi/components/nsCloseAllWindows.js +143 -0
  424. data/vendor/ogrerb/samples/navi/components/nsDefaultCLH.js +231 -0
  425. data/vendor/ogrerb/samples/navi/components/nsDictionary.js +148 -0
  426. data/vendor/ogrerb/samples/navi/components/nsExtensionManager.js +8497 -0
  427. data/vendor/ogrerb/samples/navi/components/nsHelperAppDlg.js +990 -0
  428. data/vendor/ogrerb/samples/navi/components/nsInterfaceInfoToIDL.js +590 -0
  429. data/vendor/ogrerb/samples/navi/components/nsKillAll.js +200 -0
  430. data/vendor/ogrerb/samples/navi/components/nsPostUpdateWin.js +711 -0
  431. data/vendor/ogrerb/samples/navi/components/nsProgressDialog.js +949 -0
  432. data/vendor/ogrerb/samples/navi/components/nsProxyAutoConfig.js +396 -0
  433. data/vendor/ogrerb/samples/navi/components/nsResetPref.js +175 -0
  434. data/vendor/ogrerb/samples/navi/components/nsURLFormatter.js +179 -0
  435. data/vendor/ogrerb/samples/navi/components/nsUpdateService.js +3074 -0
  436. data/vendor/ogrerb/samples/navi/components/nsXULAppInstall.js +301 -0
  437. data/vendor/ogrerb/samples/navi/components/nsXmlRpcClient.js +1038 -0
  438. data/vendor/ogrerb/samples/navi/components/oji.xpt +0 -0
  439. data/vendor/ogrerb/samples/navi/components/passwordmgr.xpt +0 -0
  440. data/vendor/ogrerb/samples/navi/components/pipboot.xpt +0 -0
  441. data/vendor/ogrerb/samples/navi/components/pipnss.xpt +0 -0
  442. data/vendor/ogrerb/samples/navi/components/plugin.xpt +0 -0
  443. data/vendor/ogrerb/samples/navi/components/pref.xpt +0 -0
  444. data/vendor/ogrerb/samples/navi/components/prefetch.xpt +0 -0
  445. data/vendor/ogrerb/samples/navi/components/profile.xpt +0 -0
  446. data/vendor/ogrerb/samples/navi/components/progressDlg.xpt +0 -0
  447. data/vendor/ogrerb/samples/navi/components/proxyObject.xpt +0 -0
  448. data/vendor/ogrerb/samples/navi/components/rdf.xpt +0 -0
  449. data/vendor/ogrerb/samples/navi/components/satchel.xpt +0 -0
  450. data/vendor/ogrerb/samples/navi/components/saxparser.xpt +0 -0
  451. data/vendor/ogrerb/samples/navi/components/shistory.xpt +0 -0
  452. data/vendor/ogrerb/samples/navi/components/storage.xpt +0 -0
  453. data/vendor/ogrerb/samples/navi/components/toolkitprofile.xpt +0 -0
  454. data/vendor/ogrerb/samples/navi/components/transformiix.dll +0 -0
  455. data/vendor/ogrerb/samples/navi/components/txmgr.xpt +0 -0
  456. data/vendor/ogrerb/samples/navi/components/txtsvc.xpt +0 -0
  457. data/vendor/ogrerb/samples/navi/components/uconv.xpt +0 -0
  458. data/vendor/ogrerb/samples/navi/components/unicharutil.xpt +0 -0
  459. data/vendor/ogrerb/samples/navi/components/universalchardet.dll +0 -0
  460. data/vendor/ogrerb/samples/navi/components/update.xpt +0 -0
  461. data/vendor/ogrerb/samples/navi/components/uriloader.xpt +0 -0
  462. data/vendor/ogrerb/samples/navi/components/urlformatter.xpt +0 -0
  463. data/vendor/ogrerb/samples/navi/components/webBrowser_core.xpt +0 -0
  464. data/vendor/ogrerb/samples/navi/components/webbrowserpersist.xpt +0 -0
  465. data/vendor/ogrerb/samples/navi/components/webshell_idls.xpt +0 -0
  466. data/vendor/ogrerb/samples/navi/components/websrvcs.dll +0 -0
  467. data/vendor/ogrerb/samples/navi/components/websrvcs.xpt +0 -0
  468. data/vendor/ogrerb/samples/navi/components/widget.xpt +0 -0
  469. data/vendor/ogrerb/samples/navi/components/windowds.xpt +0 -0
  470. data/vendor/ogrerb/samples/navi/components/windowwatcher.xpt +0 -0
  471. data/vendor/ogrerb/samples/navi/components/xml-rpc.xpt +0 -0
  472. data/vendor/ogrerb/samples/navi/components/xmlextras.dll +0 -0
  473. data/vendor/ogrerb/samples/navi/components/xpcom_base.xpt +0 -0
  474. data/vendor/ogrerb/samples/navi/components/xpcom_components.xpt +0 -0
  475. data/vendor/ogrerb/samples/navi/components/xpcom_ds.xpt +0 -0
  476. data/vendor/ogrerb/samples/navi/components/xpcom_io.xpt +0 -0
  477. data/vendor/ogrerb/samples/navi/components/xpcom_obsolete.xpt +0 -0
  478. data/vendor/ogrerb/samples/navi/components/xpcom_thread.xpt +0 -0
  479. data/vendor/ogrerb/samples/navi/components/xpcom_xpti.xpt +0 -0
  480. data/vendor/ogrerb/samples/navi/components/xpconnect.xpt +0 -0
  481. data/vendor/ogrerb/samples/navi/components/xpinstall.xpt +0 -0
  482. data/vendor/ogrerb/samples/navi/components/xpti.dat +1424 -0
  483. data/vendor/ogrerb/samples/navi/components/xulapp.xpt +0 -0
  484. data/vendor/ogrerb/samples/navi/components/xulapp_setup.xpt +0 -0
  485. data/vendor/ogrerb/samples/navi/components/xuldoc.xpt +0 -0
  486. data/vendor/ogrerb/samples/navi/components/xulrunner.xpt +0 -0
  487. data/vendor/ogrerb/samples/navi/components/xultmpl.xpt +0 -0
  488. data/vendor/ogrerb/samples/navi/components/xulutil.dll +0 -0
  489. data/vendor/ogrerb/samples/navi/controlsNaviMask.png +0 -0
  490. data/vendor/ogrerb/samples/navi/greprefs/all.js +1344 -0
  491. data/vendor/ogrerb/samples/navi/greprefs/security-prefs.js +69 -0
  492. data/vendor/ogrerb/samples/navi/greprefs/xpinstall.js +2 -0
  493. data/vendor/ogrerb/samples/navi/navi_demo.rb +207 -0
  494. data/vendor/ogrerb/samples/navi/plugins.cfg +10 -0
  495. data/vendor/ogrerb/samples/navi/plugins/NPSWF32.dll +0 -0
  496. data/vendor/ogrerb/samples/navi/plugins/flashplayer.xpt +0 -0
  497. data/vendor/ogrerb/samples/navi/plugins/npnul32.dll +0 -0
  498. data/vendor/ogrerb/samples/navi/res/EditorOverride.css +359 -0
  499. data/vendor/ogrerb/samples/navi/res/Thumbs.db +0 -0
  500. data/vendor/ogrerb/samples/navi/res/arrow.gif +0 -0
  501. data/vendor/ogrerb/samples/navi/res/arrowd.gif +0 -0
  502. data/vendor/ogrerb/samples/navi/res/bloatcycle.html +40 -0
  503. data/vendor/ogrerb/samples/navi/res/broken-image.gif +0 -0
  504. data/vendor/ogrerb/samples/navi/res/charsetData.properties +199 -0
  505. data/vendor/ogrerb/samples/navi/res/charsetalias.properties +517 -0
  506. data/vendor/ogrerb/samples/navi/res/cmessage.txt +1 -0
  507. data/vendor/ogrerb/samples/navi/res/dtd/xhtml11.dtd +300 -0
  508. data/vendor/ogrerb/samples/navi/res/entityTables/html40Latin1.properties +146 -0
  509. data/vendor/ogrerb/samples/navi/res/entityTables/html40Special.properties +69 -0
  510. data/vendor/ogrerb/samples/navi/res/entityTables/html40Symbols.properties +164 -0
  511. data/vendor/ogrerb/samples/navi/res/entityTables/htmlEntityVersions.properties +50 -0
  512. data/vendor/ogrerb/samples/navi/res/entityTables/transliterate.properties +2367 -0
  513. data/vendor/ogrerb/samples/navi/res/fonts/fontEncoding.properties +127 -0
  514. data/vendor/ogrerb/samples/navi/res/fonts/fontNameMap.properties +134 -0
  515. data/vendor/ogrerb/samples/navi/res/forms.css +531 -0
  516. data/vendor/ogrerb/samples/navi/res/grabber.gif +0 -0
  517. data/vendor/ogrerb/samples/navi/res/hiddenWindow.html +1 -0
  518. data/vendor/ogrerb/samples/navi/res/html.css +478 -0
  519. data/vendor/ogrerb/samples/navi/res/html/Thumbs.db +0 -0
  520. data/vendor/ogrerb/samples/navi/res/html/gopher-audio.gif +0 -0
  521. data/vendor/ogrerb/samples/navi/res/html/gopher-binary.gif +0 -0
  522. data/vendor/ogrerb/samples/navi/res/html/gopher-find.gif +0 -0
  523. data/vendor/ogrerb/samples/navi/res/html/gopher-image.gif +0 -0
  524. data/vendor/ogrerb/samples/navi/res/html/gopher-menu.gif +0 -0
  525. data/vendor/ogrerb/samples/navi/res/html/gopher-movie.gif +0 -0
  526. data/vendor/ogrerb/samples/navi/res/html/gopher-sound.gif +0 -0
  527. data/vendor/ogrerb/samples/navi/res/html/gopher-telnet.gif +0 -0
  528. data/vendor/ogrerb/samples/navi/res/html/gopher-text.gif +0 -0
  529. data/vendor/ogrerb/samples/navi/res/html/gopher-unknown.gif +0 -0
  530. data/vendor/ogrerb/samples/navi/res/langGroups.properties +236 -0
  531. data/vendor/ogrerb/samples/navi/res/language.properties +259 -0
  532. data/vendor/ogrerb/samples/navi/res/loading-image.gif +0 -0
  533. data/vendor/ogrerb/samples/navi/res/quirk.css +282 -0
  534. data/vendor/ogrerb/samples/navi/res/samples/Anieyes.gif +0 -0
  535. data/vendor/ogrerb/samples/navi/res/samples/Thumbs.db +0 -0
  536. data/vendor/ogrerb/samples/navi/res/samples/aform.css +69 -0
  537. data/vendor/ogrerb/samples/navi/res/samples/beeptest.html +18 -0
  538. data/vendor/ogrerb/samples/navi/res/samples/bform.css +45 -0
  539. data/vendor/ogrerb/samples/navi/res/samples/bg.jpg +0 -0
  540. data/vendor/ogrerb/samples/navi/res/samples/cform.css +40 -0
  541. data/vendor/ogrerb/samples/navi/res/samples/checkboxTest.xul +47 -0
  542. data/vendor/ogrerb/samples/navi/res/samples/demoform.css +97 -0
  543. data/vendor/ogrerb/samples/navi/res/samples/find.html +97 -0
  544. data/vendor/ogrerb/samples/navi/res/samples/gear1.gif +0 -0
  545. data/vendor/ogrerb/samples/navi/res/samples/image_props.html +58 -0
  546. data/vendor/ogrerb/samples/navi/res/samples/mozform.css +256 -0
  547. data/vendor/ogrerb/samples/navi/res/samples/printsetup.html +175 -0
  548. data/vendor/ogrerb/samples/navi/res/samples/raptor.jpg +0 -0
  549. data/vendor/ogrerb/samples/navi/res/samples/rock_gra.gif +0 -0
  550. data/vendor/ogrerb/samples/navi/res/samples/scrollbarTest1.xul +66 -0
  551. data/vendor/ogrerb/samples/navi/res/samples/scrollbarTest2.xul +19 -0
  552. data/vendor/ogrerb/samples/navi/res/samples/sliderTest1.xul +14 -0
  553. data/vendor/ogrerb/samples/navi/res/samples/soundtest.html +20 -0
  554. data/vendor/ogrerb/samples/navi/res/samples/test.wav +0 -0
  555. data/vendor/ogrerb/samples/navi/res/samples/test0.html +220 -0
  556. data/vendor/ogrerb/samples/navi/res/samples/test1.html +84 -0
  557. data/vendor/ogrerb/samples/navi/res/samples/test10.html +16 -0
  558. data/vendor/ogrerb/samples/navi/res/samples/test11.html +42 -0
  559. data/vendor/ogrerb/samples/navi/res/samples/test12.html +79 -0
  560. data/vendor/ogrerb/samples/navi/res/samples/test13.html +126 -0
  561. data/vendor/ogrerb/samples/navi/res/samples/test14.html +5 -0
  562. data/vendor/ogrerb/samples/navi/res/samples/test15.html +5 -0
  563. data/vendor/ogrerb/samples/navi/res/samples/test16.html +124 -0
  564. data/vendor/ogrerb/samples/navi/res/samples/test2.html +41 -0
  565. data/vendor/ogrerb/samples/navi/res/samples/test3.html +126 -0
  566. data/vendor/ogrerb/samples/navi/res/samples/test4.html +335 -0
  567. data/vendor/ogrerb/samples/navi/res/samples/test5.html +199 -0
  568. data/vendor/ogrerb/samples/navi/res/samples/test6.html +335 -0
  569. data/vendor/ogrerb/samples/navi/res/samples/test7.html +11 -0
  570. data/vendor/ogrerb/samples/navi/res/samples/test8-1.html +66 -0
  571. data/vendor/ogrerb/samples/navi/res/samples/test8.html +662 -0
  572. data/vendor/ogrerb/samples/navi/res/samples/test8dom.html +64 -0
  573. data/vendor/ogrerb/samples/navi/res/samples/test8sca.html +308 -0
  574. data/vendor/ogrerb/samples/navi/res/samples/test8siz.html +224 -0
  575. data/vendor/ogrerb/samples/navi/res/samples/test8tab.html +9 -0
  576. data/vendor/ogrerb/samples/navi/res/samples/test9.html +12 -0
  577. data/vendor/ogrerb/samples/navi/res/samples/test9a.html +39 -0
  578. data/vendor/ogrerb/samples/navi/res/samples/test9b.html +16 -0
  579. data/vendor/ogrerb/samples/navi/res/samples/test_ed.html +5 -0
  580. data/vendor/ogrerb/samples/navi/res/samples/test_form.html +34 -0
  581. data/vendor/ogrerb/samples/navi/res/samples/test_gfx.html +75 -0
  582. data/vendor/ogrerb/samples/navi/res/samples/test_lbox.html +100 -0
  583. data/vendor/ogrerb/samples/navi/res/samples/test_pr.html +87 -0
  584. data/vendor/ogrerb/samples/navi/res/samples/test_weight.html +45 -0
  585. data/vendor/ogrerb/samples/navi/res/samples/toolbarTest1.xul +51 -0
  586. data/vendor/ogrerb/samples/navi/res/samples/treeTest1.css +62 -0
  587. data/vendor/ogrerb/samples/navi/res/samples/treeTest1.xul +110 -0
  588. data/vendor/ogrerb/samples/navi/res/samples/xulTest.css +130 -0
  589. data/vendor/ogrerb/samples/navi/res/svg.css +64 -0
  590. data/vendor/ogrerb/samples/navi/res/table-add-column-after-active.gif +0 -0
  591. data/vendor/ogrerb/samples/navi/res/table-add-column-after-hover.gif +0 -0
  592. data/vendor/ogrerb/samples/navi/res/table-add-column-after.gif +0 -0
  593. data/vendor/ogrerb/samples/navi/res/table-add-column-before-active.gif +0 -0
  594. data/vendor/ogrerb/samples/navi/res/table-add-column-before-hover.gif +0 -0
  595. data/vendor/ogrerb/samples/navi/res/table-add-column-before.gif +0 -0
  596. data/vendor/ogrerb/samples/navi/res/table-add-row-after-active.gif +0 -0
  597. data/vendor/ogrerb/samples/navi/res/table-add-row-after-hover.gif +0 -0
  598. data/vendor/ogrerb/samples/navi/res/table-add-row-after.gif +0 -0
  599. data/vendor/ogrerb/samples/navi/res/table-add-row-before-active.gif +0 -0
  600. data/vendor/ogrerb/samples/navi/res/table-add-row-before-hover.gif +0 -0
  601. data/vendor/ogrerb/samples/navi/res/table-add-row-before.gif +0 -0
  602. data/vendor/ogrerb/samples/navi/res/table-remove-column-active.gif +0 -0
  603. data/vendor/ogrerb/samples/navi/res/table-remove-column-hover.gif +0 -0
  604. data/vendor/ogrerb/samples/navi/res/table-remove-column.gif +0 -0
  605. data/vendor/ogrerb/samples/navi/res/table-remove-row-active.gif +0 -0
  606. data/vendor/ogrerb/samples/navi/res/table-remove-row-hover.gif +0 -0
  607. data/vendor/ogrerb/samples/navi/res/table-remove-row.gif +0 -0
  608. data/vendor/ogrerb/samples/navi/res/throbber/Thumbs.db +0 -0
  609. data/vendor/ogrerb/samples/navi/res/throbber/anim.gif +0 -0
  610. data/vendor/ogrerb/samples/navi/res/throbber/anims00.gif +0 -0
  611. data/vendor/ogrerb/samples/navi/res/throbber/anims01.gif +0 -0
  612. data/vendor/ogrerb/samples/navi/res/throbber/anims02.gif +0 -0
  613. data/vendor/ogrerb/samples/navi/res/throbber/anims03.gif +0 -0
  614. data/vendor/ogrerb/samples/navi/res/throbber/anims04.gif +0 -0
  615. data/vendor/ogrerb/samples/navi/res/throbber/anims05.gif +0 -0
  616. data/vendor/ogrerb/samples/navi/res/throbber/anims06.gif +0 -0
  617. data/vendor/ogrerb/samples/navi/res/throbber/anims07.gif +0 -0
  618. data/vendor/ogrerb/samples/navi/res/throbber/anims08.gif +0 -0
  619. data/vendor/ogrerb/samples/navi/res/throbber/anims09.gif +0 -0
  620. data/vendor/ogrerb/samples/navi/res/throbber/anims10.gif +0 -0
  621. data/vendor/ogrerb/samples/navi/res/throbber/anims11.gif +0 -0
  622. data/vendor/ogrerb/samples/navi/res/throbber/anims12.gif +0 -0
  623. data/vendor/ogrerb/samples/navi/res/throbber/anims13.gif +0 -0
  624. data/vendor/ogrerb/samples/navi/res/throbber/anims14.gif +0 -0
  625. data/vendor/ogrerb/samples/navi/res/throbber/anims15.gif +0 -0
  626. data/vendor/ogrerb/samples/navi/res/throbber/anims16.gif +0 -0
  627. data/vendor/ogrerb/samples/navi/res/throbber/anims17.gif +0 -0
  628. data/vendor/ogrerb/samples/navi/res/throbber/anims18.gif +0 -0
  629. data/vendor/ogrerb/samples/navi/res/throbber/anims19.gif +0 -0
  630. data/vendor/ogrerb/samples/navi/res/throbber/anims20.gif +0 -0
  631. data/vendor/ogrerb/samples/navi/res/throbber/anims21.gif +0 -0
  632. data/vendor/ogrerb/samples/navi/res/throbber/anims22.gif +0 -0
  633. data/vendor/ogrerb/samples/navi/res/throbber/anims23.gif +0 -0
  634. data/vendor/ogrerb/samples/navi/res/throbber/anims24.gif +0 -0
  635. data/vendor/ogrerb/samples/navi/res/throbber/anims25.gif +0 -0
  636. data/vendor/ogrerb/samples/navi/res/throbber/anims26.gif +0 -0
  637. data/vendor/ogrerb/samples/navi/res/throbber/anims27.gif +0 -0
  638. data/vendor/ogrerb/samples/navi/res/throbber/anims28.gif +0 -0
  639. data/vendor/ogrerb/samples/navi/res/throbber/anims29.gif +0 -0
  640. data/vendor/ogrerb/samples/navi/res/ua.css +235 -0
  641. data/vendor/ogrerb/samples/navi/res/viewer.properties +1 -0
  642. data/vendor/ogrerb/samples/navi/res/viewsource.css +118 -0
  643. data/vendor/ogrerb/samples/navi/res/wincharset.properties +55 -0
  644. data/vendor/ogrerb/samples/navi/resources.cfg +14 -0
  645. data/vendor/ogrerb/samples/navi/testNaviMask.png +0 -0
  646. data/vendor/ogrerb/samples/plugins.cfg +11 -0
  647. data/vendor/ogrerb/samples/quake3settings.cfg +2 -0
  648. data/vendor/ogrerb/samples/render_to_texture.rb +159 -0
  649. data/vendor/ogrerb/samples/resources.cfg +14 -0
  650. data/vendor/ogrerb/samples/sky_box.rb +105 -0
  651. data/vendor/ogrerb/samples/sky_dome.rb +84 -0
  652. data/vendor/ogrerb/samples/sky_plane.rb +24 -0
  653. data/vendor/ogrerb/samples/smoke.rb +21 -0
  654. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleApplication.h +266 -0
  655. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleFrameListener.h +408 -0
  656. data/vendor/ogrerb/src_headers/ExampleApplication/ExampleLoadingBar.h +182 -0
  657. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreConfigDialogImp.h +76 -0
  658. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreErrorDialogImp.h +53 -0
  659. data/vendor/ogrerb/src_headers/OGRE/GLX/OgreTimerImp.h +63 -0
  660. data/vendor/ogrerb/src_headers/OGRE/Ogre.h +130 -0
  661. data/vendor/ogrerb/src_headers/OGRE/OgreAlignedAllocator.h +181 -0
  662. data/vendor/ogrerb/src_headers/OGRE/OgreAnimable.h +299 -0
  663. data/vendor/ogrerb/src_headers/OGRE/OgreAnimation.h +406 -0
  664. data/vendor/ogrerb/src_headers/OGRE/OgreAnimationState.h +229 -0
  665. data/vendor/ogrerb/src_headers/OGRE/OgreAnimationTrack.h +547 -0
  666. data/vendor/ogrerb/src_headers/OGRE/OgreAny.h +405 -0
  667. data/vendor/ogrerb/src_headers/OGRE/OgreArchive.h +191 -0
  668. data/vendor/ogrerb/src_headers/OGRE/OgreArchiveFactory.h +62 -0
  669. data/vendor/ogrerb/src_headers/OGRE/OgreArchiveManager.h +130 -0
  670. data/vendor/ogrerb/src_headers/OGRE/OgreAutoParamDataSource.h +225 -0
  671. data/vendor/ogrerb/src_headers/OGRE/OgreAxisAlignedBox.h +790 -0
  672. data/vendor/ogrerb/src_headers/OGRE/OgreBillboard.h +217 -0
  673. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardChain.h +343 -0
  674. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardParticleRenderer.h +250 -0
  675. data/vendor/ogrerb/src_headers/OGRE/OgreBillboardSet.h +841 -0
  676. data/vendor/ogrerb/src_headers/OGRE/OgreBitwise.h +323 -0
  677. data/vendor/ogrerb/src_headers/OGRE/OgreBlendMode.h +245 -0
  678. data/vendor/ogrerb/src_headers/OGRE/OgreBone.h +142 -0
  679. data/vendor/ogrerb/src_headers/OGRE/OgreBorderPanelOverlayElement.h +344 -0
  680. data/vendor/ogrerb/src_headers/OGRE/OgreCamera.h +566 -0
  681. data/vendor/ogrerb/src_headers/OGRE/OgreCodec.h +133 -0
  682. data/vendor/ogrerb/src_headers/OGRE/OgreColourValue.h +319 -0
  683. data/vendor/ogrerb/src_headers/OGRE/OgreCommon.h +425 -0
  684. data/vendor/ogrerb/src_headers/OGRE/OgreCompiler2Pass.h +667 -0
  685. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionPass.h +271 -0
  686. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionTargetPass.h +153 -0
  687. data/vendor/ogrerb/src_headers/OGRE/OgreCompositionTechnique.h +146 -0
  688. data/vendor/ogrerb/src_headers/OGRE/OgreCompositor.h +179 -0
  689. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorChain.h +208 -0
  690. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorInstance.h +262 -0
  691. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorManager.h +170 -0
  692. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorScriptCompiler.h +186 -0
  693. data/vendor/ogrerb/src_headers/OGRE/OgreCompositorSerializer.h +59 -0
  694. data/vendor/ogrerb/src_headers/OGRE/OgreConfig.h +120 -0
  695. data/vendor/ogrerb/src_headers/OGRE/OgreConfigDialog.h +50 -0
  696. data/vendor/ogrerb/src_headers/OGRE/OgreConfigFile.h +102 -0
  697. data/vendor/ogrerb/src_headers/OGRE/OgreConfigOptionMap.h +56 -0
  698. data/vendor/ogrerb/src_headers/OGRE/OgreController.h +227 -0
  699. data/vendor/ogrerb/src_headers/OGRE/OgreControllerManager.h +287 -0
  700. data/vendor/ogrerb/src_headers/OGRE/OgreConvexBody.h +252 -0
  701. data/vendor/ogrerb/src_headers/OGRE/OgreDDSCodec.h +90 -0
  702. data/vendor/ogrerb/src_headers/OGRE/OgreDataStream.h +442 -0
  703. data/vendor/ogrerb/src_headers/OGRE/OgreDefaultHardwareBufferManager.h +116 -0
  704. data/vendor/ogrerb/src_headers/OGRE/OgreDynLib.h +116 -0
  705. data/vendor/ogrerb/src_headers/OGRE/OgreDynLibManager.h +110 -0
  706. data/vendor/ogrerb/src_headers/OGRE/OgreEdgeListBuilder.h +261 -0
  707. data/vendor/ogrerb/src_headers/OGRE/OgreEntity.h +771 -0
  708. data/vendor/ogrerb/src_headers/OGRE/OgreErrorDialog.h +50 -0
  709. data/vendor/ogrerb/src_headers/OGRE/OgreException.h +341 -0
  710. data/vendor/ogrerb/src_headers/OGRE/OgreExternalTextureSource.h +184 -0
  711. data/vendor/ogrerb/src_headers/OGRE/OgreExternalTextureSourceManager.h +117 -0
  712. data/vendor/ogrerb/src_headers/OGRE/OgreFactoryObj.h +65 -0
  713. data/vendor/ogrerb/src_headers/OGRE/OgreFileSystem.h +111 -0
  714. data/vendor/ogrerb/src_headers/OGRE/OgreFont.h +432 -0
  715. data/vendor/ogrerb/src_headers/OGRE/OgreFontManager.h +93 -0
  716. data/vendor/ogrerb/src_headers/OGRE/OgreFrameListener.h +106 -0
  717. data/vendor/ogrerb/src_headers/OGRE/OgreFreeImageCodec.h +77 -0
  718. data/vendor/ogrerb/src_headers/OGRE/OgreFrustum.h +590 -0
  719. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgram.h +1632 -0
  720. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgramManager.h +190 -0
  721. data/vendor/ogrerb/src_headers/OGRE/OgreGpuProgramUsage.h +129 -0
  722. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareBuffer.h +330 -0
  723. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareBufferManager.h +399 -0
  724. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareIndexBuffer.h +78 -0
  725. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareOcclusionQuery.h +125 -0
  726. data/vendor/ogrerb/src_headers/OGRE/OgreHardwarePixelBuffer.h +198 -0
  727. data/vendor/ogrerb/src_headers/OGRE/OgreHardwareVertexBuffer.h +541 -0
  728. data/vendor/ogrerb/src_headers/OGRE/OgreHighLevelGpuProgram.h +185 -0
  729. data/vendor/ogrerb/src_headers/OGRE/OgreHighLevelGpuProgramManager.h +146 -0
  730. data/vendor/ogrerb/src_headers/OGRE/OgreImage.h +428 -0
  731. data/vendor/ogrerb/src_headers/OGRE/OgreImageCodec.h +82 -0
  732. data/vendor/ogrerb/src_headers/OGRE/OgreInstancedGeometry.h +833 -0
  733. data/vendor/ogrerb/src_headers/OGRE/OgreIteratorWrappers.h +359 -0
  734. data/vendor/ogrerb/src_headers/OGRE/OgreKeyFrame.h +248 -0
  735. data/vendor/ogrerb/src_headers/OGRE/OgreLight.h +433 -0
  736. data/vendor/ogrerb/src_headers/OGRE/OgreLog.h +149 -0
  737. data/vendor/ogrerb/src_headers/OGRE/OgreLogManager.h +163 -0
  738. data/vendor/ogrerb/src_headers/OGRE/OgreManualObject.h +513 -0
  739. data/vendor/ogrerb/src_headers/OGRE/OgreMaterial.h +680 -0
  740. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialManager.h +242 -0
  741. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialScriptCompiler.h +330 -0
  742. data/vendor/ogrerb/src_headers/OGRE/OgreMaterialSerializer.h +278 -0
  743. data/vendor/ogrerb/src_headers/OGRE/OgreMath.h +606 -0
  744. data/vendor/ogrerb/src_headers/OGRE/OgreMatrix3.h +306 -0
  745. data/vendor/ogrerb/src_headers/OGRE/OgreMatrix4.h +603 -0
  746. data/vendor/ogrerb/src_headers/OGRE/OgreMemoryMacros.h +69 -0
  747. data/vendor/ogrerb/src_headers/OGRE/OgreMemoryManager.h +422 -0
  748. data/vendor/ogrerb/src_headers/OGRE/OgreMesh.h +875 -0
  749. data/vendor/ogrerb/src_headers/OGRE/OgreMeshFileFormat.h +277 -0
  750. data/vendor/ogrerb/src_headers/OGRE/OgreMeshManager.h +431 -0
  751. data/vendor/ogrerb/src_headers/OGRE/OgreMeshSerializer.h +99 -0
  752. data/vendor/ogrerb/src_headers/OGRE/OgreMeshSerializerImpl.h +218 -0
  753. data/vendor/ogrerb/src_headers/OGRE/OgreMovableObject.h +530 -0
  754. data/vendor/ogrerb/src_headers/OGRE/OgreMovablePlane.h +87 -0
  755. data/vendor/ogrerb/src_headers/OGRE/OgreNoMemoryMacros.h +42 -0
  756. data/vendor/ogrerb/src_headers/OGRE/OgreNode.h +727 -0
  757. data/vendor/ogrerb/src_headers/OGRE/OgreNumerics.h +55 -0
  758. data/vendor/ogrerb/src_headers/OGRE/OgreOverlay.h +285 -0
  759. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayContainer.h +145 -0
  760. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElement.h +490 -0
  761. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElementCommands.h +115 -0
  762. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayElementFactory.h +121 -0
  763. data/vendor/ogrerb/src_headers/OGRE/OgreOverlayManager.h +235 -0
  764. data/vendor/ogrerb/src_headers/OGRE/OgrePanelOverlayElement.h +154 -0
  765. data/vendor/ogrerb/src_headers/OGRE/OgreParticle.h +147 -0
  766. data/vendor/ogrerb/src_headers/OGRE/OgreParticleAffector.h +116 -0
  767. data/vendor/ogrerb/src_headers/OGRE/OgreParticleAffectorFactory.h +74 -0
  768. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitter.h +506 -0
  769. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitterCommands.h +200 -0
  770. data/vendor/ogrerb/src_headers/OGRE/OgreParticleEmitterFactory.h +77 -0
  771. data/vendor/ogrerb/src_headers/OGRE/OgreParticleIterator.h +61 -0
  772. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystem.h +878 -0
  773. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystemManager.h +389 -0
  774. data/vendor/ogrerb/src_headers/OGRE/OgreParticleSystemRenderer.h +124 -0
  775. data/vendor/ogrerb/src_headers/OGRE/OgrePass.h +1321 -0
  776. data/vendor/ogrerb/src_headers/OGRE/OgrePatchMesh.h +152 -0
  777. data/vendor/ogrerb/src_headers/OGRE/OgrePatchSurface.h +233 -0
  778. data/vendor/ogrerb/src_headers/OGRE/OgrePixelFormat.h +473 -0
  779. data/vendor/ogrerb/src_headers/OGRE/OgrePlane.h +154 -0
  780. data/vendor/ogrerb/src_headers/OGRE/OgrePlaneBoundedVolume.h +128 -0
  781. data/vendor/ogrerb/src_headers/OGRE/OgrePlatform.h +224 -0
  782. data/vendor/ogrerb/src_headers/OGRE/OgrePlugin.h +132 -0
  783. data/vendor/ogrerb/src_headers/OGRE/OgrePolygon.h +130 -0
  784. data/vendor/ogrerb/src_headers/OGRE/OgrePose.h +111 -0
  785. data/vendor/ogrerb/src_headers/OGRE/OgrePredefinedControllers.h +285 -0
  786. data/vendor/ogrerb/src_headers/OGRE/OgrePrefabFactory.h +66 -0
  787. data/vendor/ogrerb/src_headers/OGRE/OgrePrerequisites.h +390 -0
  788. data/vendor/ogrerb/src_headers/OGRE/OgreProfiler.h +415 -0
  789. data/vendor/ogrerb/src_headers/OGRE/OgreProgressiveMesh.h +248 -0
  790. data/vendor/ogrerb/src_headers/OGRE/OgreQuaternion.h +277 -0
  791. data/vendor/ogrerb/src_headers/OGRE/OgreRadixSort.h +322 -0
  792. data/vendor/ogrerb/src_headers/OGRE/OgreRay.h +115 -0
  793. data/vendor/ogrerb/src_headers/OGRE/OgreRectangle.h +69 -0
  794. data/vendor/ogrerb/src_headers/OGRE/OgreRectangle2D.h +79 -0
  795. data/vendor/ogrerb/src_headers/OGRE/OgreRenderOperation.h +84 -0
  796. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueue.h +256 -0
  797. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueInvocation.h +218 -0
  798. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueListener.h +89 -0
  799. data/vendor/ogrerb/src_headers/OGRE/OgreRenderQueueSortingGrouping.h +653 -0
  800. data/vendor/ogrerb/src_headers/OGRE/OgreRenderSystem.h +1255 -0
  801. data/vendor/ogrerb/src_headers/OGRE/OgreRenderSystemCapabilities.h +380 -0
  802. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTarget.h +359 -0
  803. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTargetListener.h +132 -0
  804. data/vendor/ogrerb/src_headers/OGRE/OgreRenderTexture.h +101 -0
  805. data/vendor/ogrerb/src_headers/OGRE/OgreRenderWindow.h +204 -0
  806. data/vendor/ogrerb/src_headers/OGRE/OgreRenderable.h +296 -0
  807. data/vendor/ogrerb/src_headers/OGRE/OgreResource.h +415 -0
  808. data/vendor/ogrerb/src_headers/OGRE/OgreResourceBackgroundQueue.h +453 -0
  809. data/vendor/ogrerb/src_headers/OGRE/OgreResourceGroupManager.h +858 -0
  810. data/vendor/ogrerb/src_headers/OGRE/OgreResourceManager.h +446 -0
  811. data/vendor/ogrerb/src_headers/OGRE/OgreRibbonTrail.h +224 -0
  812. data/vendor/ogrerb/src_headers/OGRE/OgreRoot.h +844 -0
  813. data/vendor/ogrerb/src_headers/OGRE/OgreRotationalSpline.h +129 -0
  814. data/vendor/ogrerb/src_headers/OGRE/OgreSceneManager.h +2871 -0
  815. data/vendor/ogrerb/src_headers/OGRE/OgreSceneManagerEnumerator.h +221 -0
  816. data/vendor/ogrerb/src_headers/OGRE/OgreSceneNode.h +448 -0
  817. data/vendor/ogrerb/src_headers/OGRE/OgreSceneQuery.h +557 -0
  818. data/vendor/ogrerb/src_headers/OGRE/OgreScriptLoader.h +89 -0
  819. data/vendor/ogrerb/src_headers/OGRE/OgreSearchOps.h +65 -0
  820. data/vendor/ogrerb/src_headers/OGRE/OgreSerializer.h +113 -0
  821. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetup.h +100 -0
  822. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupFocused.h +281 -0
  823. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupLiSPSM.h +226 -0
  824. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCameraSetupPlaneOptimal.h +81 -0
  825. data/vendor/ogrerb/src_headers/OGRE/OgreShadowCaster.h +215 -0
  826. data/vendor/ogrerb/src_headers/OGRE/OgreShadowTextureManager.h +145 -0
  827. data/vendor/ogrerb/src_headers/OGRE/OgreShadowVolumeExtrudeProgram.h +233 -0
  828. data/vendor/ogrerb/src_headers/OGRE/OgreSharedPtr.h +244 -0
  829. data/vendor/ogrerb/src_headers/OGRE/OgreSimpleRenderable.h +98 -0
  830. data/vendor/ogrerb/src_headers/OGRE/OgreSimpleSpline.h +130 -0
  831. data/vendor/ogrerb/src_headers/OGRE/OgreSingleton.h +79 -0
  832. data/vendor/ogrerb/src_headers/OGRE/OgreSkeleton.h +519 -0
  833. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonFileFormat.h +102 -0
  834. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonInstance.h +156 -0
  835. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonManager.h +98 -0
  836. data/vendor/ogrerb/src_headers/OGRE/OgreSkeletonSerializer.h +117 -0
  837. data/vendor/ogrerb/src_headers/OGRE/OgreSphere.h +101 -0
  838. data/vendor/ogrerb/src_headers/OGRE/OgreSpotShadowFadePng.h +648 -0
  839. data/vendor/ogrerb/src_headers/OGRE/OgreStableHeaders.h +80 -0
  840. data/vendor/ogrerb/src_headers/OGRE/OgreStaticFaceGroup.h +134 -0
  841. data/vendor/ogrerb/src_headers/OGRE/OgreStaticGeometry.h +748 -0
  842. data/vendor/ogrerb/src_headers/OGRE/OgreStdHeaders.h +102 -0
  843. data/vendor/ogrerb/src_headers/OGRE/OgreString.h +149 -0
  844. data/vendor/ogrerb/src_headers/OGRE/OgreStringConverter.h +246 -0
  845. data/vendor/ogrerb/src_headers/OGRE/OgreStringInterface.h +332 -0
  846. data/vendor/ogrerb/src_headers/OGRE/OgreStringVector.h +45 -0
  847. data/vendor/ogrerb/src_headers/OGRE/OgreSubEntity.h +230 -0
  848. data/vendor/ogrerb/src_headers/OGRE/OgreSubMesh.h +267 -0
  849. data/vendor/ogrerb/src_headers/OGRE/OgreTagPoint.h +116 -0
  850. data/vendor/ogrerb/src_headers/OGRE/OgreTechnique.h +488 -0
  851. data/vendor/ogrerb/src_headers/OGRE/OgreTextAreaOverlayElement.h +247 -0
  852. data/vendor/ogrerb/src_headers/OGRE/OgreTexture.h +414 -0
  853. data/vendor/ogrerb/src_headers/OGRE/OgreTextureManager.h +398 -0
  854. data/vendor/ogrerb/src_headers/OGRE/OgreTextureUnitState.h +1169 -0
  855. data/vendor/ogrerb/src_headers/OGRE/OgreTimer.h +44 -0
  856. data/vendor/ogrerb/src_headers/OGRE/OgreUTFString.h +2406 -0
  857. data/vendor/ogrerb/src_headers/OGRE/OgreUnifiedHighLevelGpuProgram.h +168 -0
  858. data/vendor/ogrerb/src_headers/OGRE/OgreUserDefinedObject.h +93 -0
  859. data/vendor/ogrerb/src_headers/OGRE/OgreVector2.h +532 -0
  860. data/vendor/ogrerb/src_headers/OGRE/OgreVector3.h +768 -0
  861. data/vendor/ogrerb/src_headers/OGRE/OgreVector4.h +396 -0
  862. data/vendor/ogrerb/src_headers/OGRE/OgreVertexBoneAssignment.h +56 -0
  863. data/vendor/ogrerb/src_headers/OGRE/OgreVertexIndexData.h +286 -0
  864. data/vendor/ogrerb/src_headers/OGRE/OgreViewport.h +331 -0
  865. data/vendor/ogrerb/src_headers/OGRE/OgreWindowEventUtilities.h +151 -0
  866. data/vendor/ogrerb/src_headers/OGRE/OgreWireBoundingBox.h +81 -0
  867. data/vendor/ogrerb/src_headers/OGRE/OgreZip.h +136 -0
  868. data/vendor/ogrerb/src_headers/OGRE/asm_math.h +367 -0
  869. data/vendor/ogrerb/src_headers/OIS/OIS.h +38 -0
  870. data/vendor/ogrerb/src_headers/OIS/OISConfig.h +49 -0
  871. data/vendor/ogrerb/src_headers/OIS/OISEffect.h +254 -0
  872. data/vendor/ogrerb/src_headers/OIS/OISEvents.h +43 -0
  873. data/vendor/ogrerb/src_headers/OIS/OISException.h +70 -0
  874. data/vendor/ogrerb/src_headers/OIS/OISForceFeedback.h +102 -0
  875. data/vendor/ogrerb/src_headers/OIS/OISInputManager.h +127 -0
  876. data/vendor/ogrerb/src_headers/OIS/OISInterface.h +47 -0
  877. data/vendor/ogrerb/src_headers/OIS/OISJoyStick.h +179 -0
  878. data/vendor/ogrerb/src_headers/OIS/OISKeyboard.h +310 -0
  879. data/vendor/ogrerb/src_headers/OIS/OISMouse.h +135 -0
  880. data/vendor/ogrerb/src_headers/OIS/OISObject.h +89 -0
  881. data/vendor/ogrerb/src_headers/OIS/OISPrereqs.h +170 -0
  882. data/vendor/ogrerb/src_headers/navi/Navi.h +121 -0
  883. data/vendor/ogrerb/src_headers/navi/NaviData.h +145 -0
  884. data/vendor/ogrerb/src_headers/navi/NaviEventListener.h +56 -0
  885. data/vendor/ogrerb/src_headers/navi/NaviManager.h +439 -0
  886. data/vendor/ogrerb/src_headers/navi/llmozlib.h +222 -0
  887. data/vendor/ogrerb/src_headers/wrappers/Application.h +61 -0
  888. data/vendor/ogrerb/src_headers/wrappers/ApplicationFrameListener.h +43 -0
  889. data/vendor/ogrerb/src_headers/wrappers/NaviProxies.h +15 -0
  890. data/vendor/ogrerb/src_headers/wrappers/OISProxies.h +58 -0
  891. data/vendor/ogrerb/src_headers/wrappers/OgreProxies.h +98 -0
  892. data/vendor/ogrerb/website/contact.html +43 -0
  893. data/vendor/ogrerb/website/docs.html +92 -0
  894. data/vendor/ogrerb/website/get.html +60 -0
  895. data/vendor/ogrerb/website/images/Thumbs.db +0 -0
  896. data/vendor/ogrerb/website/images/header.png +0 -0
  897. data/vendor/ogrerb/website/images/header.xcf +0 -0
  898. data/vendor/ogrerb/website/images/ogre3d.gif +0 -0
  899. data/vendor/ogrerb/website/images/redogrehead.png +0 -0
  900. data/vendor/ogrerb/website/images/ruby.png +0 -0
  901. data/vendor/ogrerb/website/images/sample.png +0 -0
  902. data/vendor/ogrerb/website/index.html +80 -0
  903. data/vendor/ogrerb/website/javascripts/prototype.js +3271 -0
  904. data/vendor/ogrerb/website/stylesheets/main.css +96 -0
  905. metadata +997 -0
@@ -0,0 +1,200 @@
1
+ /*
2
+ -----------------------------------------------------------------------------
3
+ This source file is part of OGRE
4
+ (Object-oriented Graphics Rendering Engine)
5
+ For the latest info, see http://www.ogre3d.org/
6
+
7
+ Copyright (c) 2000-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef __ParticleEmitterCommands_H__
30
+ #define __ParticleEmitterCommands_H__
31
+
32
+ #include "OgrePrerequisites.h"
33
+ #include "OgreStringInterface.h"
34
+
35
+ namespace Ogre {
36
+
37
+
38
+ namespace EmitterCommands {
39
+ /// Command object for ParticleEmitter - see ParamCommand
40
+ class _OgreExport CmdAngle : public ParamCommand
41
+ {
42
+ public:
43
+ String doGet(const void* target) const;
44
+ void doSet(void* target, const String& val);
45
+ };
46
+ /// Command object for particle emitter - see ParamCommand
47
+ class _OgreExport CmdColour : public ParamCommand
48
+ {
49
+ public:
50
+ String doGet(const void* target) const;
51
+ void doSet(void* target, const String& val);
52
+ };
53
+
54
+ /// Command object for particle emitter - see ParamCommand
55
+ class _OgreExport CmdColourRangeStart : public ParamCommand
56
+ {
57
+ public:
58
+ String doGet(const void* target) const;
59
+ void doSet(void* target, const String& val);
60
+ };
61
+ /// Command object for particle emitter - see ParamCommand
62
+ class _OgreExport CmdColourRangeEnd : public ParamCommand
63
+ {
64
+ public:
65
+ String doGet(const void* target) const;
66
+ void doSet(void* target, const String& val);
67
+ };
68
+
69
+ /// Command object for particle emitter - see ParamCommand
70
+ class _OgreExport CmdDirection : public ParamCommand
71
+ {
72
+ public:
73
+ String doGet(const void* target) const;
74
+ void doSet(void* target, const String& val);
75
+ };
76
+
77
+ /// Command object for particle emitter - see ParamCommand
78
+ class _OgreExport CmdEmissionRate : public ParamCommand
79
+ {
80
+ public:
81
+ String doGet(const void* target) const;
82
+ void doSet(void* target, const String& val);
83
+ };
84
+ /// Command object for particle emitter - see ParamCommand
85
+ class _OgreExport CmdVelocity : public ParamCommand
86
+ {
87
+ public:
88
+ String doGet(const void* target) const;
89
+ void doSet(void* target, const String& val);
90
+ };
91
+ /// Command object for particle emitter - see ParamCommand
92
+ class _OgreExport CmdMinVelocity : public ParamCommand
93
+ {
94
+ public:
95
+ String doGet(const void* target) const;
96
+ void doSet(void* target, const String& val);
97
+ };
98
+ /// Command object for particle emitter - see ParamCommand
99
+ class _OgreExport CmdMaxVelocity : public ParamCommand
100
+ {
101
+ public:
102
+ String doGet(const void* target) const;
103
+ void doSet(void* target, const String& val);
104
+ };
105
+ /// Command object for particle emitter - see ParamCommand
106
+ class _OgreExport CmdTTL : public ParamCommand
107
+ {
108
+ public:
109
+ String doGet(const void* target) const;
110
+ void doSet(void* target, const String& val);
111
+ };
112
+ /// Command object for particle emitter - see ParamCommand
113
+ class _OgreExport CmdMinTTL : public ParamCommand
114
+ {
115
+ public:
116
+ String doGet(const void* target) const;
117
+ void doSet(void* target, const String& val);
118
+ };
119
+ /// Command object for particle emitter - see ParamCommand
120
+ class _OgreExport CmdMaxTTL : public ParamCommand
121
+ {
122
+ public:
123
+ String doGet(const void* target) const;
124
+ void doSet(void* target, const String& val);
125
+ };
126
+ /// Command object for particle emitter - see ParamCommand
127
+ class _OgreExport CmdPosition : public ParamCommand
128
+ {
129
+ public:
130
+ String doGet(const void* target) const;
131
+ void doSet(void* target, const String& val);
132
+ };
133
+ /// Command object for particle emitter - see ParamCommand
134
+ class _OgreExport CmdDuration : public ParamCommand
135
+ {
136
+ public:
137
+ String doGet(const void* target) const;
138
+ void doSet(void* target, const String& val);
139
+ };
140
+ /// Command object for particle emitter - see ParamCommand
141
+ class _OgreExport CmdMinDuration : public ParamCommand
142
+ {
143
+ public:
144
+ String doGet(const void* target) const;
145
+ void doSet(void* target, const String& val);
146
+ };
147
+ /// Command object for particle emitter - see ParamCommand
148
+ class _OgreExport CmdMaxDuration : public ParamCommand
149
+ {
150
+ public:
151
+ String doGet(const void* target) const;
152
+ void doSet(void* target, const String& val);
153
+ };
154
+ /// Command object for particle emitter - see ParamCommand
155
+ class _OgreExport CmdRepeatDelay : public ParamCommand
156
+ {
157
+ public:
158
+ String doGet(const void* target) const;
159
+ void doSet(void* target, const String& val);
160
+ };
161
+ /// Command object for particle emitter - see ParamCommand
162
+ class _OgreExport CmdMinRepeatDelay : public ParamCommand
163
+ {
164
+ public:
165
+ String doGet(const void* target) const;
166
+ void doSet(void* target, const String& val);
167
+ };
168
+ /// Command object for particle emitter - see ParamCommand
169
+ class _OgreExport CmdMaxRepeatDelay : public ParamCommand
170
+ {
171
+ public:
172
+ String doGet(const void* target) const;
173
+ void doSet(void* target, const String& val);
174
+ };
175
+ /// Command object for particle emitter - see ParamCommand
176
+ class _OgreExport CmdName : public ParamCommand
177
+ {
178
+ public:
179
+ String doGet(const void* target) const;
180
+ void doSet(void* target, const String& val);
181
+ };
182
+
183
+ /// Command object for particle emitter - see ParamCommand
184
+ class _OgreExport CmdEmittedEmitter : public ParamCommand
185
+ {
186
+ public:
187
+ String doGet(const void* target) const;
188
+ void doSet(void* target, const String& val);
189
+ };
190
+
191
+ }
192
+
193
+ }
194
+
195
+
196
+
197
+
198
+
199
+ #endif
200
+
@@ -0,0 +1,77 @@
1
+ /*
2
+ -----------------------------------------------------------------------------
3
+ This source file is part of OGRE
4
+ (Object-oriented Graphics Rendering Engine)
5
+ For the latest info, see http://www.ogre3d.org/
6
+
7
+ Copyright (c) 2000-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef __ParticleEmitterFactory_H__
30
+ #define __ParticleEmitterFactory_H__
31
+
32
+
33
+ #include "OgrePrerequisites.h"
34
+ #include "OgreParticleEmitter.h"
35
+ #include "OgreString.h"
36
+
37
+ namespace Ogre {
38
+
39
+ /** Abstract class defining the interface to be implemented by creators of ParticleEmitter subclasses.
40
+ @remarks
41
+ Plugins or 3rd party applications can add new types of particle emitters to Ogre by creating
42
+ subclasses of the ParticleEmitter class. Because multiple instances of these emitters may be
43
+ required, a factory class to manage the instances is also required.
44
+ @par
45
+ ParticleEmitterFactory subclasses must allow the creation and destruction of ParticleEmitter
46
+ subclasses. They must also be registered with the ParticleSystemManager. All factories have
47
+ a name which identifies them, examples might be 'point', 'cone', or 'box', and these can be
48
+ also be used from particle system scripts.
49
+ */
50
+ class _OgreExport ParticleEmitterFactory
51
+ {
52
+ protected:
53
+ std::vector<ParticleEmitter*> mEmitters;
54
+ public:
55
+ ParticleEmitterFactory() {};
56
+ virtual ~ParticleEmitterFactory();
57
+
58
+ /** Returns the name of the factory, the name which identifies the particle emitter type this factory creates. */
59
+ virtual String getName() const = 0;
60
+
61
+ /** Creates a new emitter instance.
62
+ @remarks
63
+ The subclass MUST add a pointer to the created instance to mEmitters.
64
+ */
65
+ virtual ParticleEmitter* createEmitter(ParticleSystem* psys) = 0;
66
+
67
+ /** Destroys the emitter pointed to by the parameter (for early clean up if reauired). */
68
+ virtual void destroyEmitter(ParticleEmitter* e);
69
+
70
+ };
71
+
72
+
73
+ }
74
+
75
+
76
+ #endif
77
+
@@ -0,0 +1,61 @@
1
+ /*
2
+ -----------------------------------------------------------------------------
3
+ This source file is part of OGRE
4
+ (Object-oriented Graphics Rendering Engine)
5
+ For the latest info, see http://www.ogre3d.org/
6
+
7
+ Copyright (c) 2000-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef __ParticleIterator_H__
30
+ #define __ParticleIterator_H__
31
+
32
+ #include "OgrePrerequisites.h"
33
+
34
+ namespace Ogre {
35
+
36
+
37
+ /** Convenience class to make it easy to step through all particles in a ParticleSystem.
38
+ */
39
+ class _OgreExport ParticleIterator
40
+ {
41
+ friend class ParticleSystem;
42
+ protected:
43
+ std::list<Particle*>::iterator mPos;
44
+ std::list<Particle*>::iterator mStart;
45
+ std::list<Particle*>::iterator mEnd;
46
+
47
+ /// Protected constructor, only available from ParticleSystem::getIterator
48
+ ParticleIterator(std::list<Particle*>::iterator start, std::list<Particle*>::iterator end);
49
+
50
+ public:
51
+ // Returns true when at the end of the particle list
52
+ bool end(void);
53
+
54
+ /** Returns a pointer to the next particle, and moves the iterator on by 1 element. */
55
+ Particle* getNext(void);
56
+ };
57
+ }
58
+
59
+
60
+ #endif
61
+
@@ -0,0 +1,878 @@
1
+ /*
2
+ -----------------------------------------------------------------------------
3
+ This source file is part of OGRE
4
+ (Object-oriented Graphics Rendering Engine)
5
+ For the latest info, see http://www.ogre3d.org/
6
+
7
+ Copyright (c) 2000-2006 Torus Knot Software Ltd
8
+ Also see acknowledgements in Readme.html
9
+
10
+ This program is free software; you can redistribute it and/or modify it under
11
+ the terms of the GNU Lesser General Public License as published by the Free Software
12
+ Foundation; either version 2 of the License, or (at your option) any later
13
+ version.
14
+
15
+ This program is distributed in the hope that it will be useful, but WITHOUT
16
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17
+ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
+
19
+ You should have received a copy of the GNU Lesser General Public License along with
20
+ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21
+ Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22
+ http://www.gnu.org/copyleft/lesser.txt.
23
+
24
+ You may alternatively use this source under the terms of a specific version of
25
+ the OGRE Unrestricted License provided you have obtained such a license from
26
+ Torus Knot Software Ltd.
27
+ -----------------------------------------------------------------------------
28
+ */
29
+ #ifndef __ParticleSystem_H__
30
+ #define __ParticleSystem_H__
31
+
32
+ #include "OgrePrerequisites.h"
33
+
34
+ #include "OgreVector3.h"
35
+ #include "OgreString.h"
36
+ #include "OgreParticleIterator.h"
37
+ #include "OgreStringInterface.h"
38
+ #include "OgreMovableObject.h"
39
+ #include "OgreRadixSort.h"
40
+ #include "OgreController.h"
41
+
42
+
43
+ namespace Ogre {
44
+
45
+ /** Class defining particle system based special effects.
46
+ @remarks
47
+ Particle systems are special effects generators which are based on a
48
+ number of moving points to create the impression of things like like
49
+ sparkles, smoke, blood spurts, dust etc.
50
+ @par
51
+ This class simply manages a single collection of particles in world space
52
+ with a shared local origin for emission. The visual aspect of the
53
+ particles is handled by a ParticleSystemRenderer instance.
54
+ @par
55
+ Particle systems are created using the SceneManager, never directly.
56
+ In addition, like all subclasses of MovableObject, the ParticleSystem
57
+ will only be considered for rendering once it has been attached to a
58
+ SceneNode.
59
+ */
60
+ class _OgreExport ParticleSystem : public StringInterface, public MovableObject
61
+ {
62
+ public:
63
+
64
+ /** Command object for quota (see ParamCommand).*/
65
+ class _OgrePrivate CmdQuota : public ParamCommand
66
+ {
67
+ public:
68
+ String doGet(const void* target) const;
69
+ void doSet(void* target, const String& val);
70
+ };
71
+ /** Command object for emittedEmitterQuota (see ParamCommand).*/
72
+ class _OgrePrivate CmdEmittedEmitterQuota : public ParamCommand
73
+ {
74
+ public:
75
+ String doGet(const void* target) const;
76
+ void doSet(void* target, const String& val);
77
+ };
78
+ /** Command object for material (see ParamCommand).*/
79
+ class _OgrePrivate CmdMaterial : public ParamCommand
80
+ {
81
+ public:
82
+ String doGet(const void* target) const;
83
+ void doSet(void* target, const String& val);
84
+ };
85
+ /** Command object for cull_each (see ParamCommand).*/
86
+ class _OgrePrivate CmdCull : public ParamCommand
87
+ {
88
+ public:
89
+ String doGet(const void* target) const;
90
+ void doSet(void* target, const String& val);
91
+ };
92
+ /** Command object for particle_width (see ParamCommand).*/
93
+ class _OgrePrivate CmdWidth : public ParamCommand
94
+ {
95
+ public:
96
+ String doGet(const void* target) const;
97
+ void doSet(void* target, const String& val);
98
+ };
99
+ /** Command object for particle_height (see ParamCommand).*/
100
+ class _OgrePrivate CmdHeight : public ParamCommand
101
+ {
102
+ public:
103
+ String doGet(const void* target) const;
104
+ void doSet(void* target, const String& val);
105
+ };
106
+ /** Command object for renderer (see ParamCommand).*/
107
+ class _OgrePrivate CmdRenderer : public ParamCommand
108
+ {
109
+ public:
110
+ String doGet(const void* target) const;
111
+ void doSet(void* target, const String& val);
112
+ };
113
+ /** Command object for sorting (see ParamCommand).*/
114
+ class CmdSorted : public ParamCommand
115
+ {
116
+ public:
117
+ String doGet(const void* target) const;
118
+ void doSet(void* target, const String& val);
119
+ };
120
+ /** Command object for local space (see ParamCommand).*/
121
+ class CmdLocalSpace : public ParamCommand
122
+ {
123
+ public:
124
+ String doGet(const void* target) const;
125
+ void doSet(void* target, const String& val);
126
+ };
127
+ /** Command object for iteration interval(see ParamCommand).*/
128
+ class CmdIterationInterval : public ParamCommand
129
+ {
130
+ public:
131
+ String doGet(const void* target) const;
132
+ void doSet(void* target, const String& val);
133
+ };
134
+ /** Command object for nonvisible timeout (see ParamCommand).*/
135
+ class CmdNonvisibleTimeout : public ParamCommand
136
+ {
137
+ public:
138
+ String doGet(const void* target) const;
139
+ void doSet(void* target, const String& val);
140
+ };
141
+
142
+ /// Default constructor required for STL creation in manager
143
+ ParticleSystem();
144
+ /** Creates a particle system with no emitters or affectors.
145
+ @remarks
146
+ You should use the ParticleSystemManager to create particle systems rather than creating
147
+ them directly.
148
+ */
149
+ ParticleSystem(const String& name, const String& resourceGroupName);
150
+
151
+ virtual ~ParticleSystem();
152
+
153
+ /** Sets the ParticleRenderer to be used to render this particle system.
154
+ @remarks
155
+ The main ParticleSystem just manages the creation and movement of
156
+ particles; they are rendered using functions in ParticleRenderer
157
+ and the ParticleVisual instances they create.
158
+ @param typeName String identifying the type of renderer to use; a new
159
+ instance of this type will be created; a factory must have been registered
160
+ with ParticleSystemManager.
161
+ */
162
+ void setRenderer(const String& typeName);
163
+
164
+ /** Gets the ParticleRenderer to be used to render this particle system. */
165
+ ParticleSystemRenderer* getRenderer(void) const;
166
+ /** Gets the name of the ParticleRenderer to be used to render this particle system. */
167
+ const String& getRendererName(void) const;
168
+
169
+ /** Adds an emitter to this particle system.
170
+ @remarks
171
+ Particles are created in a particle system by emitters - see the ParticleEmitter
172
+ class for more details.
173
+ @param
174
+ emitterType String identifying the emitter type to create. Emitter types are defined
175
+ by registering new factories with the manager - see ParticleEmitterFactory for more details.
176
+ Emitter types can be extended by OGRE, plugin authors or application developers.
177
+ */
178
+ ParticleEmitter* addEmitter(const String& emitterType);
179
+
180
+ /** Retrieves an emitter by it's index (zero-based).
181
+ @remarks
182
+ Used to retrieve a pointer to an emitter for a particle system to procedurally change
183
+ emission parameters etc.
184
+ You should check how many emitters are registered against this system before calling
185
+ this method with an arbitrary index using getNumEmitters.
186
+ @param
187
+ index Zero-based index of the emitter to retrieve.
188
+ */
189
+ ParticleEmitter* getEmitter(unsigned short index) const;
190
+
191
+ /** Returns the number of emitters for this particle system. */
192
+ unsigned short getNumEmitters(void) const;
193
+
194
+ /** Removes an emitter from the system.
195
+ @remarks
196
+ Drops the emitter with the index specified from this system.
197
+ You should check how many emitters are registered against this system before calling
198
+ this method with an arbitrary index using getNumEmitters.
199
+ @param
200
+ index Zero-based index of the emitter to retrieve.
201
+ */
202
+ void removeEmitter(unsigned short index);
203
+
204
+ /** Removes all the emitters from this system. */
205
+ void removeAllEmitters(void);
206
+
207
+
208
+ /** Adds an affector to this particle system.
209
+ @remarks
210
+ Particles are modified over time in a particle system by affectors - see the ParticleAffector
211
+ class for more details.
212
+ @param
213
+ affectorType String identifying the affector type to create. Affector types are defined
214
+ by registering new factories with the manager - see ParticleAffectorFactory for more details.
215
+ Affector types can be extended by OGRE, plugin authors or application developers.
216
+ */
217
+ ParticleAffector* addAffector(const String& affectorType);
218
+
219
+ /** Retrieves an affector by it's index (zero-based).
220
+ @remarks
221
+ Used to retrieve a pointer to an affector for a particle system to procedurally change
222
+ affector parameters etc.
223
+ You should check how many affectors are registered against this system before calling
224
+ this method with an arbitrary index using getNumAffectors.
225
+ @param
226
+ index Zero-based index of the affector to retrieve.
227
+ */
228
+ ParticleAffector* getAffector(unsigned short index) const;
229
+
230
+ /** Returns the number of affectors for this particle system. */
231
+ unsigned short getNumAffectors(void) const;
232
+
233
+ /** Removes an affector from the system.
234
+ @remarks
235
+ Drops the affector with the index specified from this system.
236
+ You should check how many affectors are registered against this system before calling
237
+ this method with an arbitrary index using getNumAffectors.
238
+ @param
239
+ index Zero-based index of the affector to retrieve.
240
+ */
241
+ void removeAffector(unsigned short index);
242
+
243
+ /** Removes all the affectors from this system. */
244
+ void removeAllAffectors(void);
245
+
246
+ /** Empties this set of all particles.
247
+ */
248
+ void clear();
249
+
250
+ /** Gets the number of individual particles in the system right now.
251
+ @remarks
252
+ The number of particles active in a system at a point in time depends on
253
+ the number of emitters, their emission rates, the time-to-live (TTL) each particle is
254
+ given on emission (and whether any affectors modify that TTL) and the maximum
255
+ number of particles allowed in this system at once (particle quota).
256
+ */
257
+ size_t getNumParticles(void) const;
258
+
259
+ /** Manually add a particle to the system.
260
+ @remarks
261
+ Instead of using an emitter, you can manually add a particle to the system.
262
+ You must initialise the returned particle instance immediately with the
263
+ 'emission' state.
264
+ @note
265
+ There is no corresponding 'destroyParticle' method - if you want to dispose of a
266
+ particle manually (say, if you've used setSpeedFactor(0) to make particles live forever)
267
+ you should use getParticle() and modify it's timeToLive to zero, meaning that it will
268
+ get cleaned up in the next update.
269
+ */
270
+ Particle* createParticle(void);
271
+
272
+ /** Manually add an emitter particle to the system.
273
+ @remarks
274
+ The purpose of a particle emitter is to emit particles. Besides visual particles, also other other
275
+ particle types can be emitted, other emitters for example. The emitted emitters have a double role;
276
+ they behave as particles and can be influenced by affectors, but they are still emitters and capable
277
+ to emit other particles (or emitters). It is possible to create a chain of emitters - emitters
278
+ emitting other emitters, which also emit emitters.
279
+ @param emitterName The name of a particle emitter that must be emitted.
280
+ */
281
+ Particle* createEmitterParticle(const String& emitterName);
282
+
283
+ /** Retrieve a particle from the system for manual tweaking.
284
+ @remarks
285
+ Normally you use an affector to alter particles in flight, but
286
+ for small manually controlled particle systems you might want to use
287
+ this method.
288
+ */
289
+ Particle* getParticle(size_t index);
290
+
291
+ /** Returns the maximum number of particles this system is allowed to have active at once.
292
+ @remarks
293
+ See ParticleSystem::setParticleQuota for more info.
294
+ */
295
+ size_t getParticleQuota(void) const;
296
+
297
+ /** Sets the maximum number of particles this system is allowed to have active at once.
298
+ @remarks
299
+ Particle systems all have a particle quota, i.e. a maximum number of particles they are
300
+ allowed to have active at a time. This allows the application to set a keep particle systems
301
+ under control should they be affected by complex parameters which alter their emission rates
302
+ etc. If a particle system reaches it's particle quota, none of the emitters will be able to
303
+ emit any more particles. As existing particles die, the spare capacity will be allocated
304
+ equally across all emitters to be as consistent to the origina particle system style as possible.
305
+ @param quota The maximum number of particles this system is allowed to have.
306
+ */
307
+ void setParticleQuota(size_t quota);
308
+
309
+ /** Returns the maximum number of emitted emitters this system is allowed to have active at once.
310
+ @remarks
311
+ See ParticleSystem::setEmittedEmitterQuota for more info.
312
+ */
313
+ size_t getEmittedEmitterQuota(void) const;
314
+
315
+ /** Sets the maximum number of emitted emitters this system is allowed to have active at once.
316
+ @remarks
317
+ Particle systems can have - besides a particle quota - also an emitted emitter quota.
318
+ @param quota The maximum number of emitted emitters this system is allowed to have.
319
+ */
320
+ void setEmittedEmitterQuota(size_t quota);
321
+
322
+ /** Assignment operator for copying.
323
+ @remarks
324
+ This operator deep copies all particle emitters and effectors, but not particles. The
325
+ system's name is also not copied.
326
+ */
327
+ ParticleSystem& operator=(const ParticleSystem& rhs);
328
+
329
+ /** Updates the particles in the system based on time elapsed.
330
+ @remarks
331
+ This is called automatically every frame by OGRE.
332
+ @param
333
+ timeElapsed The amount of time, in seconds, since the last frame.
334
+ */
335
+ void _update(Real timeElapsed);
336
+
337
+ /** Returns an iterator for stepping through all particles in this system.
338
+ @remarks
339
+ This method is designed to be used by people providing new ParticleAffector subclasses,
340
+ this is the easiest way to step through all the particles in a system and apply the
341
+ changes the affector wants to make.
342
+ */
343
+ ParticleIterator _getIterator(void);
344
+
345
+ /** Sets the name of the material to be used for this billboard set.
346
+ @param
347
+ name The new name of the material to use for this set.
348
+ */
349
+ virtual void setMaterialName(const String& name);
350
+
351
+ /** Sets the name of the material to be used for this billboard set.
352
+ @returns The name of the material that is used for this set.
353
+ */
354
+ virtual const String& getMaterialName(void) const;
355
+
356
+ /** Overridden from MovableObject
357
+ @see
358
+ MovableObject
359
+ */
360
+ virtual void _notifyCurrentCamera(Camera* cam);
361
+
362
+ /** Overridden from MovableObject
363
+ @see
364
+ MovableObject
365
+ */
366
+ void _notifyAttached(Node* parent, bool isTagPoint = false);
367
+
368
+ /** Overridden from MovableObject
369
+ @see
370
+ MovableObject
371
+ */
372
+ virtual const AxisAlignedBox& getBoundingBox(void) const { return mAABB; }
373
+
374
+ /** Overridden from MovableObject
375
+ @see
376
+ MovableObject
377
+ */
378
+ virtual Real getBoundingRadius(void) const { return mBoundingRadius; }
379
+
380
+ /** Overridden from MovableObject
381
+ @see
382
+ MovableObject
383
+ */
384
+ virtual void _updateRenderQueue(RenderQueue* queue);
385
+
386
+ /** Fast-forwards this system by the required number of seconds.
387
+ @remarks
388
+ This method allows you to fast-forward a system so that it effectively looks like
389
+ it has already been running for the time you specify. This is useful to avoid the
390
+ 'startup sequence' of a system, when you want the system to be fully populated right
391
+ from the start.
392
+ @param
393
+ time The number of seconds to fast-forward by.
394
+ @param
395
+ interval The sampling interval used to generate particles, apply affectors etc. The lower this
396
+ is the more realistic the fast-forward, but it takes more iterations to do it.
397
+ */
398
+ void fastForward(Real time, Real interval = 0.1);
399
+
400
+ /** Sets a 'speed factor' on this particle system, which means it scales the elapsed
401
+ real time which has passed by this factor before passing it to the emitters, affectors,
402
+ and the particle life calculation.
403
+ @remarks
404
+ An interesting side effect - if you want to create a completely manual particle system
405
+ where you control the emission and life of particles yourself, you can set the speed
406
+ factor to 0.0f, thus disabling normal particle emission, alteration, and death.
407
+ */
408
+ void setSpeedFactor(Real speedFactor) { mSpeedFactor = speedFactor; }
409
+
410
+ /** Gets the 'speed factor' on this particle system.
411
+ */
412
+ Real getSpeedFactor(void) const { return mSpeedFactor; }
413
+
414
+ /** Sets a 'iteration interval' on this particle system.
415
+ @remarks
416
+ The default Particle system update interval, based on elapsed frame time,
417
+ will cause different behavior between low frame-rate and high frame-rate.
418
+ By using this option, you can make the particle system update at
419
+ a fixed interval, keeping the behavior the same no matter what frame-rate
420
+ is.
421
+ @par
422
+ When iteration interval is set to zero, it means the update occurs based
423
+ on an elapsed frame time, otherwise each iteration will take place
424
+ at the given interval, repeating until it has used up all the elapsed
425
+ frame time.
426
+ @param
427
+ iterationInterval The iteration interval, default to zero.
428
+ */
429
+ void setIterationInterval(Real iterationInterval);
430
+
431
+ /** Gets a 'iteration interval' on this particle system.
432
+ */
433
+ Real getIterationInterval(void) const { return mIterationInterval; }
434
+
435
+ /** Set the default iteration interval for all ParticleSystem instances.
436
+ */
437
+ static void setDefaultIterationInterval(Real iterationInterval) { msDefaultIterationInterval = iterationInterval; }
438
+
439
+ /** Get the default iteration interval for all ParticleSystem instances.
440
+ */
441
+ static Real getDefaultIterationInterval(void) { return msDefaultIterationInterval; }
442
+
443
+ /** Sets when the particle system should stop updating after it hasn't been
444
+ visible for a while.
445
+ @remarks
446
+ By default, visible particle systems update all the time, even when
447
+ not in view. This means that they are guaranteed to be consistent when
448
+ they do enter view. However, this comes at a cost, updating particle
449
+ systems can be expensive, especially if they are perpetual.
450
+ @par
451
+ This option lets you set a 'timeout' on the particle system, so that
452
+ if it isn't visible for this amount of time, it will stop updating
453
+ until it is next visible.
454
+ @param timeout The time after which the particle system will be disabled
455
+ if it is no longer visible. 0 to disable the timeout and always update.
456
+ */
457
+ void setNonVisibleUpdateTimeout(Real timeout);
458
+ /** Gets when the particle system should stop updating after it hasn't been
459
+ visible for a while.
460
+ */
461
+ Real getNonVisibleUpdateTimeout(void) const { return mNonvisibleTimeout; }
462
+
463
+ /** Set the default nonvisible timeout for all ParticleSystem instances.
464
+ */
465
+ static void setDefaultNonVisibleUpdateTimeout(Real timeout)
466
+ { msDefaultNonvisibleTimeout = timeout; }
467
+
468
+ /** Get the default nonvisible timeout for all ParticleSystem instances.
469
+ */
470
+ static Real getDefaultNonVisibleUpdateTimeout(void) { return msDefaultNonvisibleTimeout; }
471
+
472
+ /** Overridden from MovableObject */
473
+ const String& getMovableType(void) const;
474
+
475
+ /** Internal callback used by Particles to notify their parent that they have been resized.
476
+ */
477
+ virtual void _notifyParticleResized(void);
478
+
479
+ /** Internal callback used by Particles to notify their parent that they have been rotated.
480
+ */
481
+ virtual void _notifyParticleRotated(void);
482
+
483
+ /** Sets the default dimensions of the particles in this set.
484
+ @remarks
485
+ All particles in a set are created with these default dimensions. The set will render most efficiently if
486
+ all the particles in the set are the default size. It is possible to alter the size of individual
487
+ particles at the expense of extra calculation. See the Particle class for more info.
488
+ @param width
489
+ The new default width for the particles in this set.
490
+ @param height
491
+ The new default height for the particles in this set.
492
+ */
493
+ virtual void setDefaultDimensions(Real width, Real height);
494
+
495
+ /** See setDefaultDimensions - this sets 1 component individually. */
496
+ virtual void setDefaultWidth(Real width);
497
+ /** See setDefaultDimensions - this gets 1 component individually. */
498
+ virtual Real getDefaultWidth(void) const;
499
+ /** See setDefaultDimensions - this sets 1 component individually. */
500
+ virtual void setDefaultHeight(Real height);
501
+ /** See setDefaultDimensions - this gets 1 component individually. */
502
+ virtual Real getDefaultHeight(void) const;
503
+ /** Returns whether or not particles in this are tested individually for culling. */
504
+ virtual bool getCullIndividually(void) const;
505
+ /** Sets whether culling tests particles in this individually as well as in a group.
506
+ @remarks
507
+ Particle sets are always culled as a whole group, based on a bounding box which
508
+ encloses all particles in the set. For fairly localised sets, this is enough. However, you
509
+ can optionally tell the set to also cull individual particles in the set, i.e. to test
510
+ each individual particle before rendering. The default is not to do this.
511
+ @par
512
+ This is useful when you have a large, fairly distributed set of particles, like maybe
513
+ trees on a landscape. You probably still want to group them into more than one
514
+ set (maybe one set per section of landscape), which will be culled coarsely, but you also
515
+ want to cull the particles individually because they are spread out. Whilst you could have
516
+ lots of single-tree sets which are culled separately, this would be inefficient to render
517
+ because each tree would be issued as it's own rendering operation.
518
+ @par
519
+ By calling this method with a parameter of true, you can have large particle sets which
520
+ are spaced out and so get the benefit of batch rendering and coarse culling, but also have
521
+ fine-grained culling so unnecessary rendering is avoided.
522
+ @param cullIndividual If true, each particle is tested before being sent to the pipeline as well
523
+ as the whole set having to pass the coarse group bounding test.
524
+ */
525
+ virtual void setCullIndividually(bool cullIndividual);
526
+ /// Return the resource group to be used to load dependent resources
527
+ virtual const String& getResourceGroupName(void) const { return mResourceGroupName; }
528
+ /** Get the origin of this particle system, e.g. a script file name.
529
+ @remarks
530
+ This property will only contain something if the creator of
531
+ this particle system chose to populate it. Script loaders are advised
532
+ to populate it.
533
+ */
534
+ const String& getOrigin(void) const { return mOrigin; }
535
+ /// Notify this particle system of it's origin
536
+ void _notifyOrigin(const String& origin) { mOrigin = origin; }
537
+
538
+ /** @copydoc MovableObject::setRenderQueueGroup */
539
+ void setRenderQueueGroup(uint8 queueID);
540
+
541
+ /** Set whether or not particles are sorted according to the camera.
542
+ @remarks
543
+ Enabling sorting alters the order particles are sent to the renderer.
544
+ When enabled, particles are sent to the renderer in order of
545
+ furthest distance from the camera.
546
+ */
547
+ void setSortingEnabled(bool enabled) { mSorted = enabled; }
548
+ /// Gets whether particles are sorted relative to the camera.
549
+ bool getSortingEnabled(void) const { return mSorted; }
550
+
551
+ /** Set the (initial) bounds of the particle system manually.
552
+ @remarks
553
+ If you can, set the bounds of a particle system up-front and
554
+ call setBoundsAutoUpdated(false); this is the most efficient way to
555
+ organise it. Otherwise, set an initial bounds and let the bounds increase
556
+ for a little while (the default is 5 seconds), after which time the
557
+ AABB is fixed to save time.
558
+ @param aabb Bounds in local space.
559
+ */
560
+ void setBounds(const AxisAlignedBox& aabb);
561
+
562
+ /** Sets whether the bounds will be automatically updated
563
+ for the life of the particle system
564
+ @remarks
565
+ If you have a stationary particle system, it would be a good idea to
566
+ call this method and set the value to 'false', since the maximum
567
+ bounds of the particle system will eventually be static. If you do
568
+ this, you can either set the bounds manually using the setBounds()
569
+ method, or set the second parameter of this method to a positive
570
+ number of seconds, so that the bounds are calculated for a few
571
+ seconds and then frozen.
572
+ @param autoUpdate If true (the default), the particle system will
573
+ update it's bounds every frame. If false, the bounds update will
574
+ cease after the 'stopIn' number of seconds have passed.
575
+ @param stopIn Only applicable if the first parameter is true, this is the
576
+ number of seconds after which the automatic update will cease.
577
+ */
578
+ void setBoundsAutoUpdated(bool autoUpdate, Real stopIn = 0.0f);
579
+
580
+ /** Sets whether particles (and any affector effects) remain relative
581
+ to the node the particle system is attached to.
582
+ @remarks
583
+ By defalt particles are in world space once emitted, so they are not
584
+ affected by movement in the parent node of the particle system. This
585
+ makes the most sense when dealing with completely independent particles,
586
+ but if you want to constrain them to follow local motion too, you
587
+ can set this to true.
588
+ */
589
+ void setKeepParticlesInLocalSpace(bool keepLocal);
590
+
591
+ /** Gets whether particles (and any affector effects) remain relative
592
+ to the node the particle system is attached to.
593
+ */
594
+ bool getKeepParticlesInLocalSpace(void) const { return mLocalSpace; }
595
+
596
+ /** Internal method for updating the bounds of the particle system.
597
+ @remarks
598
+ This is called automatically for a period of time after the system's
599
+ creation (10 seconds by default, settable by setBoundsAutoUpdated)
600
+ to increase (and only increase) the bounds of the system according
601
+ to the emitted and affected particles. After this period, the
602
+ system is assumed to achieved its maximum size, and the bounds are
603
+ no longer computed for efficiency. You can tweak the behaviour by
604
+ either setting the bounds manually (setBounds, preferred), or
605
+ changing the time over which the bounds are updated (performance cost).
606
+ You can also call this method manually if you need to update the
607
+ bounds on an ad-hoc basis.
608
+ */
609
+ void _updateBounds(void);
610
+
611
+ /// Override to return specific type flag
612
+ uint32 getTypeFlags(void) const;
613
+ protected:
614
+
615
+ /// Command objects
616
+ static CmdCull msCullCmd;
617
+ static CmdHeight msHeightCmd;
618
+ static CmdMaterial msMaterialCmd;
619
+ static CmdQuota msQuotaCmd;
620
+ static CmdEmittedEmitterQuota msEmittedEmitterQuotaCmd;
621
+ static CmdWidth msWidthCmd;
622
+ static CmdRenderer msRendererCmd;
623
+ static CmdSorted msSortedCmd;
624
+ static CmdLocalSpace msLocalSpaceCmd;
625
+ static CmdIterationInterval msIterationIntervalCmd;
626
+ static CmdNonvisibleTimeout msNonvisibleTimeoutCmd;
627
+
628
+
629
+ AxisAlignedBox mAABB;
630
+ Real mBoundingRadius;
631
+ bool mBoundsAutoUpdate;
632
+ Real mBoundsUpdateTime;
633
+ Real mUpdateRemainTime;
634
+
635
+ /// World AABB, only used to compare world-space positions to calc bounds
636
+ AxisAlignedBox mWorldAABB;
637
+
638
+ /// Name of the resource group to use to load materials
639
+ String mResourceGroupName;
640
+ /// Name of the material to use
641
+ String mMaterialName;
642
+ /// Have we set the material etc on the renderer?
643
+ bool mIsRendererConfigured;
644
+ /// Pointer to the material to use
645
+ MaterialPtr mpMaterial;
646
+ /// Default width of each particle
647
+ Real mDefaultWidth;
648
+ /// Default height of each particle
649
+ Real mDefaultHeight;
650
+ /// Speed factor
651
+ Real mSpeedFactor;
652
+ /// Iteration interval
653
+ Real mIterationInterval;
654
+ /// Iteration interval set? Otherwise track default
655
+ bool mIterationIntervalSet;
656
+ /// Particles sorted according to camera?
657
+ bool mSorted;
658
+ /// Particles in local space?
659
+ bool mLocalSpace;
660
+ /// Update timeout when nonvisible (0 for no timeout)
661
+ Real mNonvisibleTimeout;
662
+ /// Update timeout when nonvisible set? Otherwise track default
663
+ bool mNonvisibleTimeoutSet;
664
+ /// Amount of time non-visible so far
665
+ Real mTimeSinceLastVisible;
666
+ /// Last frame in which known to be visible
667
+ unsigned long mLastVisibleFrame;
668
+ /// Controller for time update
669
+ Controller<Real>* mTimeController;
670
+ /// Indication whether the emitted emitter pool (= pool with particle emitters that are emitted) is initialised
671
+ bool mEmittedEmitterPoolInitialised;
672
+
673
+ typedef std::list<Particle*> ActiveParticleList;
674
+ typedef std::list<Particle*> FreeParticleList;
675
+ typedef std::vector<Particle*> ParticlePool;
676
+
677
+ /** Sort by direction functor */
678
+ struct SortByDirectionFunctor
679
+ {
680
+ /// Direction to sort in
681
+ Vector3 sortDir;
682
+
683
+ SortByDirectionFunctor(const Vector3& dir);
684
+ float operator()(Particle* p) const;
685
+ };
686
+
687
+ /** Sort by distance functor */
688
+ struct SortByDistanceFunctor
689
+ {
690
+ /// Position to sort in
691
+ Vector3 sortPos;
692
+
693
+ SortByDistanceFunctor(const Vector3& pos);
694
+ float operator()(Particle* p) const;
695
+ };
696
+
697
+ static RadixSort<ActiveParticleList, Particle*, float> mRadixSorter;
698
+
699
+ /** Active particle list.
700
+ @remarks
701
+ This is a linked list of pointers to particles in the particle pool.
702
+ @par
703
+ This allows very fast instertions and deletions from anywhere in
704
+ the list to activate / deactivate particles as well as resuse of
705
+ Particle instances in the pool without construction & destruction
706
+ which avoids memory thrashing.
707
+ */
708
+ ActiveParticleList mActiveParticles;
709
+
710
+ /** Free particle queue.
711
+ @remarks
712
+ This contains a list of the particles free for use as new instances
713
+ as required by the set. Particle instances are preconstructed up
714
+ to the estimated size in the mParticlePool vector and are
715
+ referenced on this deque at startup. As they get used this list
716
+ reduces, as they get released back to to the set they get added
717
+ back to the list.
718
+ */
719
+ FreeParticleList mFreeParticles;
720
+
721
+ /** Pool of particle instances for use and reuse in the active particle list.
722
+ @remarks
723
+ This vector will be preallocated with the estimated size of the set,and will extend as required.
724
+ */
725
+ ParticlePool mParticlePool;
726
+
727
+ typedef std::list<ParticleEmitter*> FreeEmittedEmitterList;
728
+ typedef std::list<ParticleEmitter*> ActiveEmittedEmitterList;
729
+ typedef std::vector<ParticleEmitter*> EmittedEmitterList;
730
+ typedef std::map<String, FreeEmittedEmitterList> FreeEmittedEmitterMap;
731
+ typedef std::map<String, EmittedEmitterList> EmittedEmitterPool;
732
+
733
+ /** Pool of emitted emitters for use and reuse in the active emitted emitter list.
734
+ @remarks
735
+ The emitters in this pool act as particles and as emitters. The pool is a map containing lists
736
+ of emitters, identified by their name.
737
+ @par
738
+ The emitters in this pool are cloned using emitters that are kept in the main emitter list
739
+ of the ParticleSystem.
740
+ */
741
+ EmittedEmitterPool mEmittedEmitterPool;
742
+
743
+ /** Free emitted emitter list.
744
+ @remarks
745
+ This contains a list of the emitters free for use as new instances as required by the set.
746
+ */
747
+ FreeEmittedEmitterMap mFreeEmittedEmitters;
748
+
749
+ /** Active emitted emitter list.
750
+ @remarks
751
+ This is a linked list of pointers to emitters in the emitted emitter pool.
752
+ Emitters that are used are stored (their pointers) in both the list with active particles and in
753
+ the list with active emitted emitters. */
754
+ ActiveEmittedEmitterList mActiveEmittedEmitters;
755
+
756
+ typedef std::vector<ParticleEmitter*> ParticleEmitterList;
757
+ typedef std::vector<ParticleAffector*> ParticleAffectorList;
758
+
759
+ /// List of particle emitters, ie sources of particles
760
+ ParticleEmitterList mEmitters;
761
+ /// List of particle affectors, ie modifiers of particles
762
+ ParticleAffectorList mAffectors;
763
+
764
+ /// The renderer used to render this particle system
765
+ ParticleSystemRenderer* mRenderer;
766
+
767
+ /// Do we cull each particle individually?
768
+ bool mCullIndividual;
769
+
770
+ /// The name of the type of renderer used to render this system
771
+ String mRendererType;
772
+
773
+ /// The number of particles in the pool.
774
+ size_t mPoolSize;
775
+
776
+ /// The number of emitted emitters in the pool.
777
+ size_t mEmittedEmitterPoolSize;
778
+
779
+ /// Optional origin of this particle system (eg script name)
780
+ String mOrigin;
781
+
782
+ /// Default iteration interval
783
+ static Real msDefaultIterationInterval;
784
+ /// Default nonvisible update timeout
785
+ static Real msDefaultNonvisibleTimeout;
786
+
787
+ /** Internal method used to expire dead particles. */
788
+ void _expire(Real timeElapsed);
789
+
790
+ /** Spawn new particles based on free quota and emitter requirements. */
791
+ void _triggerEmitters(Real timeElapsed);
792
+
793
+ /** Helper function that actually performs the emission of particles
794
+ */
795
+ void _executeTriggerEmitters(ParticleEmitter* emitter, unsigned requested, Real timeElapsed);
796
+
797
+ /** Updates existing particle based on their momentum. */
798
+ void _applyMotion(Real timeElapsed);
799
+
800
+ /** Applies the effects of affectors. */
801
+ void _triggerAffectors(Real timeElapsed);
802
+
803
+ /** Sort the particles in the system **/
804
+ void _sortParticles(Camera* cam);
805
+
806
+ /** Resize the internal pool of particles. */
807
+ void increasePool(size_t size);
808
+
809
+ /** Resize the internal pool of emitted emitters.
810
+ @remarks
811
+ The pool consists of multiple vectors containing pointers to particle emitters. Increasing the
812
+ pool with �size� implies that the vectors are equally increased. The quota of emitted emitters is
813
+ defined on a particle system level and not on a particle emitter level. This is to prevent that
814
+ the number of created emitters becomes too high; the quota is shared amongst the emitted emitters.
815
+ */
816
+ void increaseEmittedEmitterPool(size_t size);
817
+
818
+ /** Internal method for initialising string interface. */
819
+ void initParameters(void);
820
+
821
+ /** Internal method to configure the renderer. */
822
+ void configureRenderer(void);
823
+
824
+ /// Internal method for creating ParticleVisualData instances for the pool
825
+ void createVisualParticles(size_t poolstart, size_t poolend);
826
+ /// Internal method for destroying ParticleVisualData instances for the pool
827
+ void destroyVisualParticles(size_t poolstart, size_t poolend);
828
+
829
+ /** Create a pool of emitted emitters and assign them to the free emitter list.
830
+ @remarks
831
+ The emitters in the pool are grouped by name. This name is the name of the base emitter in the
832
+ main list with particle emitters, which forms the template of the created emitted emitters.
833
+ */
834
+ void initialiseEmittedEmitters(void);
835
+
836
+ /** Determine which emitters in the Particle Systems main emitter become a template for creating an
837
+ pool of emitters that can be emitted.
838
+ */
839
+ void initialiseEmittedEmitterPool(void);
840
+
841
+ /** Add emitters from the pool to the free emitted emitter queue. */
842
+ void addFreeEmittedEmitters(void);
843
+
844
+ /** Removes all emitted emitters from this system. */
845
+ void removeAllEmittedEmitters(void);
846
+
847
+ /** Find the list with free emitted emitters.
848
+ @param name The name that identifies the list with free emitted emitters.
849
+ */
850
+ FreeEmittedEmitterList* findFreeEmittedEmitter (const String& name);
851
+
852
+ /** Removes an emitter from the active emitted emitter list.
853
+ @remarks
854
+ The emitter will not be destroyed!
855
+ @param emitter Pointer to a particle emitter.
856
+ */
857
+ void removeFromActiveEmittedEmitters (ParticleEmitter* emitter);
858
+
859
+ /** Moves all emitted emitters from the active list to the free list
860
+ @remarks
861
+ The active emitted emitter list will not be cleared and still keeps references to the emitters!
862
+ */
863
+ void addActiveEmittedEmittersToFreeList (void);
864
+
865
+ /** This function clears all data structures that are used in combination with emitted emitters and
866
+ sets the flag to indicate that the emitted emitter pool must be initialised again.
867
+ @remarks
868
+ This function should be called if new emitters are added to a ParticleSystem or deleted from a
869
+ ParticleSystem. The emitted emitter data structures become out of sync and need to be build up
870
+ again. The data structures are not reorganised in this function, but by setting a �flag�,
871
+ they are rebuild in the regular process flow.
872
+ */
873
+ void _notifyReorganiseEmittedEmitterData (void);
874
+ };
875
+
876
+ }
877
+
878
+ #endif