VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtParticleRotorWashUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
15 #include <vrvOsg/DtSceneRoot.h>
16 #include <vrvFx/vrvFx.h>
17 
18 #include <osg/Vec3d>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtModel;
24  class DtOsgIntersector;
25  class DtParticleRotorWashModelInstance;
26  class DtSimpleIntersector;
27 
37  {
38  public:
43 
45  virtual ~DtParticleRotorWashUpdater();
46 
47  private:
52 
53  public:
54 
59  virtual void update(DtTime tNow);
60 
66  void calcRotorWashLagPos(DtOsgRotorWashModel* rwModel, const DtTime& tNow,
67  const DtVector& currentHeliPos, DtVector& outOffsetPos,
68  double& lagHeliAngleDistToGround);
69 
70  protected:
71 
74  virtual DtOsgRotorWashModel* rotorWashModel();
75 
77  virtual DtVector calcRotorDownDirection(const DtVector& currentPos,
78  const DtTaitBryan& orientation);
79 
82  virtual double getHeightAboveTerrain(const DtVector& pos);
83 
86  virtual bool getTerrainOrPropIntersection(
87  const osg::Vec3d& startPos, const osg::Vec3d& endPos,
88  osg::Vec3d& result);
89 
91  virtual DtVector getHeliVelocity(DtSceneObject* sceneObj, DtTime tNow);
92 
97  // Keep track of the rotor wash points so we can 'lag' a more the
98  // higher up we go
100  };
101 }
Implementation of a particle rotorWash model.
Definition: DtParticleRotorWashModelInstance.h:21
Definition: DtRotorWashTrailPoints.h:64
std::vector< DtSceneRoot > DtSceneRootList
A list of DtOsgRenderer::SceneRoots.
Definition: DtSceneRoot.h:117
Updater for particle rotor wash.
Definition: DtParticleRotorWashUpdater.h:36
DtOsgIntersector is the OSG-specific implementation of the DtIntersector class.
Definition: DtOsgIntersector.h:82
Contains the DtOsgRotorWashModel class declaration.
DtParticleRotorWashModelInstance * myLastParticleRotorWashInstance
Definition: DtParticleRotorWashUpdater.h:96
#define DT_DLL_VRVFX
Definition: vrvFx.h:20
DtSceneRootList myRoots
Definition: DtParticleRotorWashUpdater.h:95
Contains DLL export macros.
Abstract rotorWash object updater interface.
Definition: DtRotorWashUpdater.h:28
DtRotorWashTrailPoints myRotorWashPoints
Definition: DtParticleRotorWashUpdater.h:99
DtSimpleIntersector * myHATIntersector
Definition: DtParticleRotorWashUpdater.h:94
DtOsgIntersector * myIntersector
Definition: DtParticleRotorWashUpdater.h:93
DtSimpleIntersector is a higher-level intersector class which adds functions for line of sight...
Definition: DtSimpleIntersector.h:52
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains the declaration for makVrv::DtRotorWashUpdater.
Contains makVrv::DtSceneRoot class.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
Osg implementation of DtRotorWashModel.
Definition: DtOsgRotorWashModel.h:21
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)