VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgFluidFrictionOperator.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtOsgFluidFrictionOperator_H_
11 #define DtOsgFluidFrictionOperator_H_
12 
13 #include <vrvOsg/vrvOsg.h>
14 
15 #include <osgParticle/Operator>
16 #include <osgParticle/FluidFrictionOperator>
17 #include <osgParticle/Particle>
18 #include <osgParticle/Program>
19 
20 namespace makVrv
21 {
26  class DT_DLL_VRVOSG DtOsgFluidFrictionOperator : public osgParticle::Operator
27  {
28  public:
29 
32 
35  const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
36 
38  static DtOsgFluidFrictionOperator* fromOsgFluidFrictionOperator(
39  osgParticle::FluidFrictionOperator* osgOp);
40 
41  META_Object(makVrv, DtOsgFluidFrictionOperator);
42 
44  void setFluidDensity(float d);
45 
47  float getFluidDensity() const;
48 
50  void setFluidViscosity(float v);
51 
53  float getFluidViscosity() const;
54 
56  void setWind(const osg::Vec3& wind) { _wind = wind; }
57 
59  const osg::Vec3& getWind() const { return _wind; }
60 
62  void setUp(const osg::Vec3& up) {_up = up;}
63 
65  const osg::Vec3& getUp() const {return _up;}
66 
68  void setOverrideRadius(float r);
69 
71  float getOverrideRadius() const;
72 
74  void setFluidToAir();
75 
77  void setFluidToWater();
78 
80  void operate(osgParticle::Particle* P, double dt);
81 
83  void beginOperate(osgParticle::Program* prg);
84 
85  protected:
88 
89  private:
92  float _density;
93  float _viscosity;
94  float _ovr_rad;
95  osg::Vec3 _wind;
96  osg::Vec3 _up;
97  osgParticle::Program* _current_program;
98  };
99 }
100 
101 #endif
102 
Customized OpenSceneGraph particle system operator Rewritten from default fluid friction operator to ...
Definition: DtOsgFluidFrictionOperator.h:26
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
void setUp(const osg::Vec3 &up)
Set the up vector.
Definition: DtOsgFluidFrictionOperator.h:62
float _viscosity
Definition: DtOsgFluidFrictionOperator.h:93
void setWind(const osg::Vec3 &wind)
Set the wind vector.
Definition: DtOsgFluidFrictionOperator.h:56
osg::Vec3 _up
Definition: DtOsgFluidFrictionOperator.h:96
DtOsgFluidFrictionOperator & operator=(const DtOsgFluidFrictionOperator &)
Definition: DtOsgFluidFrictionOperator.h:87
float _ovr_rad
Definition: DtOsgFluidFrictionOperator.h:94
const osg::Vec3 & getUp() const
Get the up vector.
Definition: DtOsgFluidFrictionOperator.h:65
float densityCoefficient
Definition: DtOsgFluidFrictionOperator.h:91
virtual ~DtOsgFluidFrictionOperator()
Definition: DtOsgFluidFrictionOperator.h:86
float _density
Definition: DtOsgFluidFrictionOperator.h:92
float viscosityCoefficient
Definition: DtOsgFluidFrictionOperator.h:90
osg::Vec3 _wind
Definition: DtOsgFluidFrictionOperator.h:95
const osg::Vec3 & getWind() const
Get the wind vector.
Definition: DtOsgFluidFrictionOperator.h:59
Contains DLL export macros.
osgParticle::Program * _current_program
Definition: DtOsgFluidFrictionOperator.h:97

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)