VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityRotorWashVisualizer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
12 
15 
16 namespace makVrv
17 {
18  class DtRotorWashModelAgent;
19  class DtRotorWashObjectAgent;
20 
21  namespace EntityStateListener
22  {
23  enum class DamageState;
24  }
25 
40  {
41  public:
44  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet );
45 
47  virtual ~DtEntityRotorWashVisualizer();
48 
50  DtEntityRotorWashVisualizer() = delete;
51 
54 
56  DtEntityRotorWashVisualizer& operator=(const DtEntityRotorWashVisualizer&) = delete;
57 
58  public:
59 
61  virtual void initialize() override;
62 
64  virtual void setRotorWashEnabled(bool b);
65 
68  virtual void setRotorDiameter( double diameter );
69 
71  virtual void setRotorWindSpeed( double speed );
72 
74  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
75 
77  static const DtStateVisualizer::TypeInfo& theTypeInfo();
78 
79  protected:
82  virtual void createModelAgents();
83 
85  virtual void destroyModelAgents();
86 
88  virtual void setModelDefinitionForAgents();
89 
92  virtual void connectToListenerSignals() override;
93 
96  virtual void setInitialValuesFromVisualizerDefinition() override;
97 
99  virtual void slot_embarkedStateChanged();
100 
103  virtual void slot_checkPowerPlantStatus();
104 
106  virtual void slot_rotorWashInfoSet(const DtRotorWashInfo& newInfo);
107 
109  virtual void setPowerPlantOn(bool isOn);
110 
112  virtual void setDamageState(EntityStateListener::DamageState state);
113 
115  virtual bool entityDestroyed() const;
116 
119  virtual bool visible() const;
120 
122  virtual void slot_rotorWashEnabledChanged(bool enabled);
123 
126  virtual void updateDrawState();
127 
129  virtual void setRotorWashPaused(bool b);
131  virtual bool rotorWashPaused() const;
133 
134  protected:
135  DtRotorWashModelAgent* myRotorWashModelAgent;
136  // DtRotorWashObjectAgent talks to the DtRotorWashManager
137  // which will talk to DtRotorWashSet to set parameters
138  DtRotorWashObjectAgent* myRotorWashObjectAgent;
140 
145  // False until our soil type is hit then true (for lazy init)
147 
148  // "RotorWash" for Triton or "ParticleSystem" for particles
149  std::string mySchema;
151 
155  };
156 
157 
162 }
163 
bool myEffectEnabled
Definition: DtEntityRotorWashVisualizer.h:139
Base class for entity state visualizers (using the DtModelVisualizer schema)
Definition: DtEntityStateVisualizer.h:22
DamageState
Definition: DtEntityStateListener.h:64
Definition: DtStateVisualizer.h:274
int myAttributeCompareValue
Definition: DtEntityRotorWashVisualizer.h:150
DtRotorWashModelAgent * myRotorWashModelAgent
Definition: DtEntityRotorWashVisualizer.h:135
std::string mySchema
Definition: DtEntityRotorWashVisualizer.h:149
bool myRotorWashStarted
Definition: DtEntityRotorWashVisualizer.h:152
DtRotorWashObjectAgent * myRotorWashObjectAgent
Definition: DtEntityRotorWashVisualizer.h:138
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
bool mySoilTypeActive
Definition: DtEntityRotorWashVisualizer.h:146
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
EntityStateListener::DamageState myDamageState
Definition: DtEntityRotorWashVisualizer.h:154
double myRotorDiameter
Definition: DtEntityRotorWashVisualizer.h:141
Rotorwash and rotorwash collision object information.
DtStateVisualizerCreatorTemplate< DtEntityRotorWashVisualizer > DtEntityRotorWashVisualizerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEntityRotorWashVisualizer.h:161
bool myPowerPlantOn
Definition: DtEntityRotorWashVisualizer.h:144
A collection of information about a rotor wash effect that is received by a network connection and tr...
Definition: DtRotorWashInfo.h:62
double myRotorWindSpeed
Definition: DtEntityRotorWashVisualizer.h:142
Contains makVrv:DtEntityStateVisualizer class. Base class for other state visualizers such as articul...
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
bool myEmbarked
Definition: DtEntityRotorWashVisualizer.h:143
Visualizer for rotorWashes Each rotary wing entity is configured with a visualizer for each soil type...
Definition: DtEntityRotorWashVisualizer.h:39
bool myRotorWashEffectPaused
Definition: DtEntityRotorWashVisualizer.h:153

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)