VR-Forces 4.3.1 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) 2014 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 setDraft(double draft);
96 
99  virtual void setLODDistance(double distance);
100 
102  virtual void setSprayVelocityScale(double scale);
103 
105  virtual void setBowWaveScale(double scale);
106 
108  virtual void setMaxBowWaveAmplitude(double amplitude);
109 
111  virtual void setBowSize(double size);
112 
114  virtual void setSpraySizeScale(double scale);
115 
118  virtual void setNumHullSprays(int numSprays);
119 
121  virtual void setHullSpraySizeScale(double scale);
122 
124  virtual void setHullSprayStart(double offset);
125 
127  virtual void setHullSprayEnd(double offset);
128 
131  virtual void setHullSprayVelocityScale(double scale);
132 
134  virtual void setHullSprayVerticalOffset(double offset);
135 
136  virtual void setVisible( bool isVisible );
137 
138  virtual void setIsMoving( bool isMoving );
139 
140  protected:
141  virtual void addToParent( DtSceneObjectAgent* parent);
142  virtual void removeFromParent( DtSceneObjectAgent* parent);
143 
144  void createModelAgents();
145  void destroyModelAgents();
146 
147  protected:
148  DtWakeModelAgent* myWakeModelAgent;
149  DtWakeUpdaterAgent* myWakeUpdaterAgent;
150  DtSceneObjectAgent* myParentSceneObjectAgent;
151  std::string myEntityModel;
153  };
154 
158 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)