source: branches/blt4/packages/vizservers/nanovis/ParticleEmitter.h @ 2742

Last change on this file since 2742 was 2120, checked in by gah, 13 years ago
File size: 1.6 KB
Line 
1#pragma once
2
3#include "datatype.h"
4#include <string>
5
6class ParticleEmitter {
7public :
8        std::string _name;
9        float3 _position;
10
11        float3 _oldPosition;
12
13        float _minLifeTime;
14        float _maxLifeTime;
15       
16        // [0..1] * _maxPositionOffset;
17        float3 _maxPositionOffset;
18
19        int _minNumOfNewParticles;
20        int _maxNumOfNewParticles;
21
22        bool _enabled;
23public :
24        ParticleEmitter();
25
26public :
27        void setName(const std::string& name);
28        void setPosition(float x, float y, float z);
29        void setMinMaxLifeTime(float minLifeTime, float maxLifeTime);
30        void setMaxPositionOffset(float offsetX, float offsetY, float offsetZ);
31        void setMinMaxNumOfNewParticles(int minNum, int maxNum);
32
33        void setVectorField();
34        void setEnabled(bool enabled);
35        bool isEnabled() const;
36};
37
38inline void ParticleEmitter::setName(const std::string& name)
39{
40        _name = name;
41}
42
43inline void ParticleEmitter::setPosition(float x, float y, float z)
44{
45        _position.x = x;
46        _position.y = y;
47        _position.z = z;
48}
49
50inline void ParticleEmitter::setMinMaxLifeTime(float minLifeTime, float maxLifeTime)
51{
52        _minLifeTime = minLifeTime;
53        _maxLifeTime = maxLifeTime;
54}
55
56inline void ParticleEmitter::setMaxPositionOffset(float offsetX, float offsetY, float offsetZ)
57{
58        _maxPositionOffset.x = offsetX;
59        _maxPositionOffset.y = offsetY;
60        _maxPositionOffset.z = offsetZ;
61}
62
63inline void ParticleEmitter::setMinMaxNumOfNewParticles(int minNum, int maxNum)
64{
65        _minNumOfNewParticles = minNum;
66        _maxNumOfNewParticles = maxNum;
67}
68
69inline void ParticleEmitter::setEnabled(bool enabled)
70{
71        _enabled = enabled;
72}
73
74inline bool ParticleEmitter::isEnabled() const
75{
76        return _enabled;
77}
Note: See TracBrowser for help on using the repository browser.