SO3Engine
SO3ParticleSystem.h
Go to the documentation of this file.
1/*
2-----------------------------------------------------------------------------
3This source file is part of OpenSpace3D
4For the latest info, see http://www.openspace3d.com
5
6Copyright (c) 2012 I-maginer
7
8This program is free software; you can redistribute it and/or modify it under
9the terms of the GNU Lesser General Public License as published by the Free Software
10Foundation; either version 2 of the License, or (at your option) any later
11version.
12
13This program is distributed in the hope that it will be useful, but WITHOUT
14ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16
17You should have received a copy of the GNU Lesser General Public License along with
18this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20http://www.gnu.org/copyleft/lesser.txt
21
22-----------------------------------------------------------------------------
23*/
24
33#pragma once
34#ifndef __SO3PARTICLESYSTEM_H__
35#define __SO3PARTICLESYSTEM_H__
36
39
40namespace SO3
41{
42
43class SParticleSystem : public SNode
44{
45public:
46protected:
47 Ogre::ParticleSystem* O3ParticleSystem;
52private:
53
54public:
57 static void ClearParticleTemplates();
58
61 SParticleSystem(SScene* parent, const std::string& particleSystemName, const std::string& particleTemplateName);
62
66
69 Ogre::ParticleSystem* GetOgreParticleSystem();
70
74 virtual void SetRenderingDistance(const float& distance);
75
79 virtual float GetRenderingDistance();
80
84 virtual void SetScale(const Ogre::Vector3& scale);
85
88 std::string GetParticleTemplateName();
89
92 void SetSpeed(const float& speed);
93
96 float GetSpeed();
97
100 void SetEnable(const bool& enable);
101
104 bool GetEnable();
105
108 void SetPaused(const bool& pause);
109
112 bool GetPaused();
113
116 void ClearParticles();
117protected:
118private:
123};
124
125}
126
127#endif
librairies include
static void ClearParticleTemplates()
virtual void SetScale(const Ogre::Vector3 &scale)
virtual void SetRenderingDistance(const float &distance)
void SetPaused(const bool &pause)
virtual float GetRenderingDistance()
Ogre::ParticleSystem * GetOgreParticleSystem()
Ogre::ParticleSystem * O3ParticleSystem
std::string GetParticleTemplateName()
void SetEnable(const bool &enable)
void SetSpeed(const float &speed)