VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityAudializer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvAudio/vrvAudio.h>
14 
15 namespace makVrv
16 {
17  class DtSoundModelAgent;
18  class DtEntitySoundUpdaterAgent;
19  class DtEntityStateListener;
20 
21  namespace EntityStateListener
22  {
23  enum class DamageState;
24  }
25 
31  {
32  public:
34  DtEntityAudializer(DtBaseConnection& simulation, DtStateListener& listener,
35  DtSceneObjectAgent* sceneObject, DtModelSetId modelSet);
36 
38  virtual ~DtEntityAudializer();
39 
41  DtEntityAudializer() = delete;
42 
44  DtEntityAudializer(const DtEntityAudializer&) = delete;
45 
47  DtEntityAudializer& operator=(const DtEntityAudializer&) = delete;
48 
49  public:
50 
52  virtual void initialize() override;
53 
56  virtual void createModelAgents();
57 
59  virtual void destroyModelAgents();
60 
63  virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
64 
66  static const DtStateVisualizer::TypeInfo& theTypeInfo();
67 
69  virtual void setModelDefinitionForAgents();
70 
73  virtual void setPowerPlantOn(bool on);
74 
76  virtual void setDamageState(EntityStateListener::DamageState damageState);
77 
80  virtual bool destroyed() const;
81 
82  virtual void setEngineRunning(bool running);
83 
85  virtual void play();
86 
88  virtual void stop();
89 
91  virtual void setIs3d(bool is3d);
92 
94  virtual bool is3d();
95 
97  virtual void setDecibel(float decibel);
98 
100  virtual float decibel();
101 
103  DtEntityStateListener& entityStateListener();
104  const DtEntityStateListener& entityStateListener() const;
105  protected:
108  virtual void setInitialValuesFromVisualizerDefinition() override;
109 
112  virtual void connectToListenerSignals() override;
113  protected:
114  DtSoundModelAgent* mySoundModelAgent;
115  DtEntitySoundUpdaterAgent* myEntitySoundUpdaterAgent;
116  bool myIs3d;
117  float myDecibel;
120 
121  protected:
124  };
125 
130 }
bool myIs3d
Definition: DtEntityAudializer.h:116
DamageState
Definition: DtEntityStateListener.h:64
Definition: DtStateVisualizer.h:274
DtEntityStateListener * myEntityListener
Same as myListener, but casted for convenience.
Definition: DtEntityAudializer.h:123
Contains the DLL export macro for vrvAudio classes.
DtEntitySoundUpdaterAgent * myEntitySoundUpdaterAgent
Definition: DtEntityAudializer.h:115
DtSoundModelAgent * mySoundModelAgent
Definition: DtEntityAudializer.h:114
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
EntityStateListener::DamageState myDamageState
Definition: DtEntityAudializer.h:118
DtEntityAudializer manages the sound for an entity. The sound will update itself according to the ent...
Definition: DtEntityAudializer.h:30
Contains makVrv:DtStateVisualizer class.
bool myPowerPlantOn
Definition: DtEntityAudializer.h:119
DtStateVisualizerCreatorTemplate< DtEntityAudializer > DtEntityAudializerCreator
Creator that will be registered with the state visualizer factory to create this class.
Definition: DtEntityAudializer.h:129
float myDecibel
Definition: DtEntityAudializer.h:117
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
#define DT_DLL_VRVAUDIO
Definition: vrvAudio.h:20
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
DtEntityStateListener.
Definition: DtEntityStateListener.h:137

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)