VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCigiWakeEntity.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 <vrvCigi/vrvCigi.h>
13 
15 
16 #include <matrix/geodeticCoord.h>
17 #include <matrix/vlTaitBryan.h>
18 
19 namespace makVrv
20 {
21  class DtWakeModelAgent;
22  class DtWakeUpdaterAgent;
23  class DtSceneObjectAgent;
24 
28  {
29  public:
30 
31  friend class DtCigiWatercraftEntity;
32 
35  DtAgentManagerInterface& sceneInterface, int entityId, int entityType);
36 
38  virtual ~DtCigiWakeEntity();
39 
43  virtual void setPosition(const DtGeodeticCoord& pos, bool force=false);
44 
46  virtual void setRelativePosition(const DtVector& pos);
47 
51  virtual void setOrientation(const DtTaitBryan& orient, bool force=false);
52 
55  virtual void setRelativeOrientation(const DtTaitBryan& orient);
56 
58  virtual void setRelativeTo(DtCigiBaseEntity* parent);
59 
60  // Override to determine moving state when not attached to a parent ship
61  virtual void setLinearRate(const DtVector& rate, bool useWorldCoordinates);
62 
64  virtual void setSprayEnabled(bool enabled);
65 
68  virtual void setWakeOffset(double offset);
69 
72  virtual void setBowSprayOffset(double offset);
73 
75  virtual void setBowWaveOffset(double offset);
76 
78  virtual void setSternWaveOffset(double offset);
79 
81  virtual void setShipLength(double length);
82 
84  virtual void setBeamWidth(double width);
85 
87  virtual void setPropWashEnabled(bool b);
88 
91  virtual void setPropWashOffset(double offset);
92 
95  virtual void setPropWashFadeTime(double fadeTime);
96 
99  virtual void setDraft(double draft);
100 
103  virtual void setLODDistance(double distance);
104 
106  virtual void setSprayVelocityScale(double scale);
107 
109  virtual void setBowWaveScale(double scale);
110 
112  virtual void setMaxBowWaveAmplitude(double amplitude);
113 
115  virtual void setBowSize(double size);
116 
118  virtual void setSpraySizeScale(double scale);
119 
122  virtual void setNumHullSprays(int numSprays);
123 
125  virtual void setHullSpraySizeScale(double scale);
126 
128  virtual void setHullSprayStart(double offset);
129 
131  virtual void setHullSprayEnd(double offset);
132 
135  virtual void setHullSprayVelocityScale(double scale);
136 
138  virtual void setHullSprayVerticalOffset(double offset);
139 
140  virtual void setVisible( bool isVisible );
141 
143  virtual void setIsSinking( bool sinking );
144 
145  protected:
146  virtual void addToParent( DtSceneObjectAgent* parent);
147  virtual void removeFromParent( DtSceneObjectAgent* parent);
148 
149  void createModelAgents();
150  void destroyModelAgents();
151 
152  protected:
153  DtWakeModelAgent* myWakeModelAgent;
154  DtWakeUpdaterAgent* myWakeUpdaterAgent;
155  DtSceneObjectAgent* myParentSceneObjectAgent;
156  std::string myEntityModel;
158  };
159 
163 }

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)