VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTritonWakeUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvTriton/vrvTriton.h>
13 
14 #include <vrvCore/DtWakeUpdater.h>
16 
17 #include <matrix/vlVector.h>
18 #include <matrix/vlTaitBryan.h>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtTritonWakeModel;
24  class DtSceneObject;
25 
33  {
34  public:
39 
41  virtual ~DtTritonWakeUpdater();
42 
45  virtual void update( DtTime tNow );
46 
51  virtual bool needsUpdate( DtTime tNow );
52 
58  virtual void setPosition(const DtVector& pos);
59 
65  virtual void setOrientation(const DtTaitBryan& ori);
66 
68  virtual void setIsAmphibious( bool isAmphibious );
69 
70  protected:
71 
74  virtual DtTritonWakeModel* wakeModel() const;
75 
86  virtual DtVector calcWakeOriginAndSeaLevel( DtVector& currentPos,
87  const DtTaitBryan& orientation, double wakeOffset );
88 
91  virtual bool getCurrentShipKinematics(double t, DtVector& position,
92  DtVector& velocity, DtTaitBryan& orientation) const;
93 
94  protected:
97  DtDoubleSmoother myVelocityYSmoother, myVelocityZSmoother;
98 
101 
102  // wake values used if a dead-reckoner does not exist.
107  DtTaitBryan myOrientation;
109  };
110 
111 }
DtVector myPosition
Definition: DtTritonWakeUpdater.h:105
A model of a triton wake is used to interface with the triton API to generate a Kelvin wake effect...
Definition: DtTritonWakeModel.h:30
DtTaitBryan myOrientation
Definition: DtTritonWakeUpdater.h:107
Updater for the Kelvin wake model.
Definition: DtTritonWakeUpdater.h:32
Contains the declaration for makVrv::DtWakeUpdater.
Definition: DtDoubleSmoother.h:18
Contains DLL export macros.
DtDoubleSmoother myVelocityZSmoother
Definition: DtTritonWakeUpdater.h:97
Abstract wake object updater interface.
Definition: DtWakeUpdater.h:33
bool myPositionUpdated
Definition: DtTritonWakeUpdater.h:104
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
DtSceneObject * myWakeModelSceneObject
A pointer to the current scene object for the wake model.
Definition: DtTritonWakeUpdater.h:100
bool myFirstTick
Definition: DtTritonWakeUpdater.h:95
DtDoubleSmoother myVelocityXSmoother
Definition: DtTritonWakeUpdater.h:96
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
DtVector myLastPosition
Definition: DtTritonWakeUpdater.h:106
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains the declaration for makVrv::DtDoubleSmoother.
bool mySetManually
Definition: DtTritonWakeUpdater.h:103
bool myIsAmphibious
Definition: DtTritonWakeUpdater.h:108

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)