diff --git a/doc/doxygen/Modules.h b/doc/doxygen/Modules.h index 34ef818de1..b5f90829c1 100644 --- a/doc/doxygen/Modules.h +++ b/doc/doxygen/Modules.h @@ -62,3 +62,6 @@ /// @defgroup Camera Camera /// Camera control and logic. + + /// @defgroup Particle Particle + /// Customizations of OGRE particle system: visuals + game logic. diff --git a/source/main/gfx/particle/ExtinguishableFireAffector.h b/source/main/gfx/particle/ExtinguishableFireAffector.h index 046c78949d..0a4ee59a03 100644 --- a/source/main/gfx/particle/ExtinguishableFireAffector.h +++ b/source/main/gfx/particle/ExtinguishableFireAffector.h @@ -28,6 +28,12 @@ namespace Ogre { +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + /** This class defines a ParticleAffector which deflects particles. @remarks This affector (see ParticleAffector) offers a simple (and inaccurate) physical deflection. diff --git a/source/main/gfx/particle/ExtinguishableFireAffectorFactory.h b/source/main/gfx/particle/ExtinguishableFireAffectorFactory.h index 0f7d5679ac..45cada424f 100644 --- a/source/main/gfx/particle/ExtinguishableFireAffectorFactory.h +++ b/source/main/gfx/particle/ExtinguishableFireAffectorFactory.h @@ -27,6 +27,12 @@ namespace Ogre { +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + /** Factory class for DeflectorPlaneAffector. */ class ExtinguishableFireAffectorFactory : public ParticleAffectorFactory { @@ -48,4 +54,8 @@ class ExtinguishableFireAffectorFactory : public ParticleAffectorFactory /** Allow external access to the mFactories iterator */ affectorIterator getAffectorIterator() { return affectorIterator(mAffectors.begin(), mAffectors.end()); } }; + +/// @} // addtogroup Particle +/// @} // addtogroup Gfx + } // namespace Ogre diff --git a/source/main/gfx/particle/FireExtinguisherAffector.h b/source/main/gfx/particle/FireExtinguisherAffector.h index 2710b82372..c0344635cd 100644 --- a/source/main/gfx/particle/FireExtinguisherAffector.h +++ b/source/main/gfx/particle/FireExtinguisherAffector.h @@ -29,6 +29,12 @@ namespace Ogre { +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + /** This class defines a ParticleAffector which deflects particles. @remarks This affector (see ParticleAffector) offers a simple (and inaccurate) physical deflection. @@ -71,6 +77,9 @@ class FireExtinguisherAffector : public ParticleAffector Real mEffectiveness; }; +/// @} // addtogroup Particle +/// @} // addtogroup Gfx + } // namespace Ogre #endif //USE_ANGELSCRIPT diff --git a/source/main/gfx/particle/FireExtinguisherAffectorFactory.h b/source/main/gfx/particle/FireExtinguisherAffectorFactory.h index 08898032ae..b1b249308b 100644 --- a/source/main/gfx/particle/FireExtinguisherAffectorFactory.h +++ b/source/main/gfx/particle/FireExtinguisherAffectorFactory.h @@ -26,6 +26,13 @@ namespace Ogre { +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + + /** Factory class for DeflectorPlaneAffector. */ class FireExtinguisherAffectorFactory : public ParticleAffectorFactory { @@ -40,5 +47,8 @@ class FireExtinguisherAffectorFactory : public ParticleAffectorFactory return p; } }; -} // namespace Ogre +/// @} // addtogroup Particle +/// @} // addtogroup Gfx + +} // namespace Ogre diff --git a/source/main/gfx/particle/OgreParticleCustomParam.h b/source/main/gfx/particle/OgreParticleCustomParam.h index fadf60e2db..afdefb0437 100644 --- a/source/main/gfx/particle/OgreParticleCustomParam.h +++ b/source/main/gfx/particle/OgreParticleCustomParam.h @@ -5,6 +5,13 @@ #include namespace Ogre { + +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + /// custom visual data for shader renderer class ParticleCustomParam : public ParticleVisualData { @@ -19,6 +26,10 @@ class ParticleCustomParam : public ParticleVisualData Vector4 paramValue; }; -} + +/// @} // addtogroup Particle +/// @} // addtogroup Gfx + +} // namespace Ogre #endif // __OGRE_PARTICLE_CUSTOM_PARAM_H__ diff --git a/source/main/gfx/particle/OgreShaderParticleRenderer.h b/source/main/gfx/particle/OgreShaderParticleRenderer.h index 35654e0e9e..a55800ee10 100644 --- a/source/main/gfx/particle/OgreShaderParticleRenderer.h +++ b/source/main/gfx/particle/OgreShaderParticleRenderer.h @@ -7,6 +7,13 @@ #include namespace Ogre { + +/// @addtogroup Gfx +/// @{ + +/// @addtogroup Particle +/// @{ + /** Specialisation of ParticleSystemRenderer to render particles using a custom shaders. @remarks @@ -172,52 +179,34 @@ namespace Ogre { bool getVertexFormatTimeFragmentInv() const { return mVertexFormatTimeFragmentInv; } ////////////////////////////////////////////////////////////////////////// - // ParticleSystemRenderer interface - /// @copydoc ParticleSystemRenderer::getType - virtual const String& getType(void) const; - /// @copydoc ParticleSystemRenderer::_updateRenderQueue - virtual void _updateRenderQueue(RenderQueue* queue, Ogre::list::type& currentParticles, bool cullIndividually); - /// @copydoc ParticleSystemRenderer::visitRenderables - virtual void visitRenderables(Renderable::Visitor* visitor, bool debugRenderables = false); - /// @copydoc ParticleSystemRenderer::_setMaterial - virtual void _setMaterial(MaterialPtr& mat); - /// @copydoc ParticleSystemRenderer::_notifyCurrentCamera - virtual void _notifyCurrentCamera(Camera* cam); - /// @copydoc ParticleSystemRenderer::_notifyParticleRotated - virtual void _notifyParticleRotated(void); - /// @copydoc ParticleSystemRenderer::_notifyParticleResized - virtual void _notifyParticleResized(void); - /// @copydoc ParticleSystemRenderer::_notifyParticleQuota - virtual void _notifyParticleQuota(size_t quota); - /// @copydoc ParticleSystemRenderer::_notifyAttached - virtual void _notifyAttached(Node* parent, bool isTagPoint = false); - /// @copydoc ParticleSystemRenderer::_notifyDefaultDimensions - virtual void _notifyDefaultDimensions(Real width, Real height); - /// @copydoc ParticleSystemRenderer::_createVisualData - virtual ParticleVisualData* _createVisualData(void); - /// @copydoc ParticleSystemRenderer::_destroyVisualData - virtual void _destroyVisualData(ParticleVisualData* vis); - /// @copydoc ParticleSystemRenderer::setRenderQueueGroup - virtual void setRenderQueueGroup(uint8 queueID); - /// @copydoc ParticleSystemRenderer::setKeepParticlesInLocalSpace - virtual void setKeepParticlesInLocalSpace(bool keepLocal); - /// @copydoc ParticleSystemRenderer::_getSortMode - virtual SortMode _getSortMode(void) const; + /// @name Ogre::ParticleSystemRenderer interface + /// @{ + virtual const String& getType(void) const override; + virtual void _updateRenderQueue(RenderQueue* queue, Ogre::list::type& currentParticles, bool cullIndividually) override; + virtual void visitRenderables(Renderable::Visitor* visitor, bool debugRenderables = false) override; + virtual void _setMaterial(MaterialPtr& mat) override; + virtual void _notifyCurrentCamera(Camera* cam) override; + virtual void _notifyParticleRotated(void) override; + virtual void _notifyParticleResized(void) override; + virtual void _notifyParticleQuota(size_t quota) override; + virtual void _notifyAttached(Node* parent, bool isTagPoint = false) override; + virtual void _notifyDefaultDimensions(Real width, Real height) override; + virtual ParticleVisualData* _createVisualData(void) override; + virtual void _destroyVisualData(ParticleVisualData* vis) override; + virtual void setRenderQueueGroup(uint8 queueID) override; + virtual void setKeepParticlesInLocalSpace(bool keepLocal) override; + virtual SortMode _getSortMode(void) const override; + /// @} ////////////////////////////////////////////////////////////////////////// - // Ogre::Renderable interface - /// @copydoc Renderable::getMaterial - virtual const MaterialPtr& getMaterial(void) const; - /// @copydoc Renderable::getRenderOperation - virtual void getRenderOperation(RenderOperation& op); - /// @copydoc Renderable::getNumWorldTransforms - //virtual unsigned short getNumWorldTransforms(void) const; - /// @copydoc Renderable::getWorldTransforms - virtual void getWorldTransforms(Matrix4* xform) const; - /// @copydoc Renderable::getSquaredViewDepth - virtual Real getSquaredViewDepth(const Camera* cam) const; - /// @copydoc Renderable::getLights - virtual const LightList& getLights(void) const; + /// @name Ogre::Renderable interface + /// @{ + virtual const MaterialPtr& getMaterial(void) const override; + virtual void getRenderOperation(RenderOperation& op) override; + virtual void getWorldTransforms(Matrix4* xform) const override; + virtual Real getSquaredViewDepth(const Camera* cam) const override; + virtual const LightList& getLights(void) const override; + /// @} private: const String rendererTypeName = "shader"; @@ -245,15 +234,16 @@ namespace Ogre { class ShaderParticleRendererFactory : public ParticleSystemRendererFactory { public: - /// @copydoc FactoryObj::getType - const String& getType() const; - /// @copydoc FactoryObj::createInstance - ParticleSystemRenderer* createInstance( const String& name ); - /// @copydoc FactoryObj::destroyInstance - void destroyInstance( ParticleSystemRenderer* inst); + const String& getType() const override; + ParticleSystemRenderer* createInstance( const String& name ) override; + void destroyInstance( ParticleSystemRenderer* inst) override; private: const String rendererTypeName = "shader"; }; -} + +/// @} // addtogroup Particle +/// @} // addtogroup Gfx + +} // namespace Ogre #endif // __OGRE_SHADER_PARTICLE_RENDERER_H__