source: trunk/packages/vizservers/nanovis/ParticleEmitter.h @ 2798

Last change on this file since 2798 was 2798, checked in by ldelgass, 12 years ago

Add emacs mode magic line in preparation for indentation cleanup

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