VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtTacticalSmokeModelInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
15 #include <osg/ref_ptr>
16 #include <osg/Switch>
17 #include <osg/Vec2>
18 #include <osg/Vec4>
19 
20 #include <string>
21 #include <vector>
22 
23 #include <matrix/vlVector.h>
24 
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtModelDefinition;
30  class DtOsgSceneConnector;
31  class DtTacticalSmokeEffect;
32 
38  {
40 
41  public:
45 
48 
53  virtual void setBasePosition(const DtVector& v);
54 
59  virtual bool realize(DtModelDefinition& definition);
60 
63  virtual void setTexture(const std::string& txt);
64 
69  virtual void setIntensity(const osg::Vec2& range);
70 
74  virtual void setSizes(const osg::Vec2& range);
75 
80  virtual void setRotations(const osg::Vec2& range);
81 
86  virtual void setColors(const osg::Vec4& ic, const osg::Vec4& fc);
87 
93  virtual void setAlphaMultiplier(double alpha);
94 
100  virtual void setSpeed(double speed);
101 
107  virtual void setLifetime(double life);
108 
111  virtual void addToConnector(DtOsgSceneConnector* connector);
112 
117  virtual bool removeFromConnector(DtOsgSceneConnector* connector);
118 
121  virtual void setVisible(bool isVisible);
122 
126  virtual void setPuffPosition(int puffIndex, const DtVector& position);
127 
134  virtual void setOneSigmaDistance(int puffIndex, const DtVector& sigma);
135 
140  virtual void setDensity(int puffIndex, double density);
141 
144  virtual void setWindDirection(const DtVector& winddir);
145 
147  virtual void start();
148 
150  virtual void stop();
151 
153  virtual void pause();
154 
156  virtual void resume();
157 
158  private:
160  void destroyEffect();
161 
162  private:
163  osg::ref_ptr<DtTacticalSmokeEffect> myCloud;
164  osg::Vec3d myBasePosition;
165  };
166 
167 
172  {
173  public:
174 
176  static void registerCreator(DtDe& de);
177 
180 
182  virtual DtModelInstance* create(DtDe& de);
183 
184  protected:
186  };
187 
188 
189 }
190 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)