ParticleEntityRenderer.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef PARTICLE_ENTITY_RENDERER_H
  2. #define PARTICLE_ENTITY_RENDERER_H
  3. #include <OgreSceneNode.h>
  4. #include "ParticleEntityAdditionalData.h"
  5. #include "ParticleEntityRendererDictionary.h"
  6. #include "../ParticleRenderer.h"
  7. class ParticleEntityRenderer : public ParticleRenderer
  8. {
  9. public:
  10. ParticleEntityRenderer();
  11. virtual ~ParticleEntityRenderer();
  12. virtual void CopyAttributesTo(ParticleRenderer* renderer);
  13. const Ogre::String& GetMeshName() const;
  14. void SetMeshName(const Ogre::String& mesh_name);
  15. void Clear();
  16. virtual void SetVisible(bool visible);
  17. virtual void Initialize();
  18. virtual void UpdateRenderQueue(Ogre::RenderQueue* queue, ParticlePool<VisualParticle>& pool);
  19. protected:
  20. std::vector<ParticleEntityAdditionalData*> m_AllAdditionalData;
  21. std::vector<ParticleEntityAdditionalData*> m_UnassignedAdditionalData;
  22. std::vector<Ogre::Entity*> m_Entities;
  23. static ParticleEntityRendererDictionary::MeshName m_MeshNameDictionary;
  24. Ogre::String m_MeshName;
  25. };
  26. #endif // PARTICLE_ENTITY_RENDERER_H