VR-Forces 5.0.1 Developer's Guide
 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 
18 
19 #include <matrix/vlVector.h>
20 #include <matrix/vlTaitBryan.h>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtTritonWakeModel;
26  class DtSceneObject;
27  class DtCoordinateConverter;
28 
36  {
37  public:
42 
44  virtual ~DtTritonWakeUpdater();
45 
48  virtual void update( DtTime tNow );
49 
54  virtual bool needsUpdate( DtTime tNow );
55 
61  virtual void setPosition(const DtVector& pos);
62 
68  virtual void setOrientation(const DtTaitBryan& ori);
69 
71  virtual void setIsAmphibious( bool isAmphibious );
72 
73  protected:
74 
77  virtual DtTritonWakeModel* wakeModel() const;
78 
89  virtual DtVector calcWakeOriginAndSeaLevel( DtVector& currentPos,
90  const DtTaitBryan& orientation, double wakeOffset );
91 
94  virtual bool getCurrentShipKinematics(double t, DtVector& position,
95  DtVector& velocity, DtTaitBryan& orientation) const;
96 
98  virtual bool isLodedOut(const DtVector& currentPos) const;
99 
101  virtual void slot_coordinateSystemChanged();
102 
103  protected:
106  DtDoubleSmoother myVelocityYSmoother, myVelocityZSmoother;
107 
110 
111  // wake values used if a dead-reckoner does not exist.
116  DtTaitBryan myOrientation;
118 
120 
123  DtCoordinateConverter* myCoordinateConverter = nullptr;
124  };
125 
126 }
DtVector myPosition
Definition: DtTritonWakeUpdater.h:114
A model of a triton wake is used to interface with the triton API to generate a Kelvin wake effect...
Definition: DtTritonWakeModel.h:30
DtCoordinateConverter is the base class for &#39;local (cig) to geocentric&#39; converters.
Definition: DtCoordinateConverter.h:25
DtTaitBryan myOrientation
Definition: DtTritonWakeUpdater.h:116
DtSignalConnectionManager myConnections
Definition: DtTritonWakeUpdater.h:119
Updater for the Kelvin wake model.
Definition: DtTritonWakeUpdater.h:35
Contains the declaration for makVrv::DtWakeUpdater.
Definition: DtDoubleSmoother.h:18
Contains DLL export macros.
DtDoubleSmoother myVelocityZSmoother
Definition: DtTritonWakeUpdater.h:106
Abstract wake object updater interface.
Definition: DtWakeUpdater.h:31
bool myPositionUpdated
Definition: DtTritonWakeUpdater.h:113
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Base class to provide boost signal/slot management.
DtSceneObject * myWakeModelSceneObject
A pointer to the current scene object for the wake model.
Definition: DtTritonWakeUpdater.h:109
bool myFirstTick
Definition: DtTritonWakeUpdater.h:104
DtDoubleSmoother myVelocityXSmoother
Definition: DtTritonWakeUpdater.h:105
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
DtVector myLastPosition
Definition: DtTritonWakeUpdater.h:115
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Contains the declaration for makVrv::DtDoubleSmoother.
bool mySetManually
Definition: DtTritonWakeUpdater.h:112
bool myIsAmphibious
Definition: DtTritonWakeUpdater.h:117

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)