16 #include <matrix/vlVector.h>
17 #include <vlutil/vlExceptions.h>
19 #include <unordered_map>
25 class DtEntityStateListener;
26 class DtEmitterBeamStateListener;
47 DtSceneObjectAgent* sceneObject,
DtModelSetId modelSet );
64 virtual void initialize()
override;
67 virtual void createModelAgents()
override;
72 virtual void destroyModelAgents()
override;
76 virtual void setModelDefinitionForAgents()
override;
80 virtual void slot_emitterBeamDiscovered(
const DtUniqueID&
id );
84 virtual void slot_emitterBeamToBeRemoved(
const DtUniqueID&
id );
90 virtual void setColoringMode( ColoringMode method );
96 virtual const ColoringMode coloringMode()
const;
106 virtual DtModelAgent* createBeamModel();
112 virtual DtModelAgent* findBeamModel(
const DtUniqueID& beamModelId );
117 virtual bool beamIsVisible(
float elevationSweep,
float azimuthSweep,
float emittedPower);
121 virtual void setBeamModelVisible( DtModelAgent* beamModel,
bool visibility );
125 virtual void slot_entityEmitterVolumesVisibleChanged(
bool visible,
bool instanceOnly);
131 virtual void slot_setBeamlRelativePosition(
const DtUniqueID& beamId, DtVector32
offset );
137 virtual void slot_setBeamAzimuthRange(
const DtUniqueID& beamId,
float center,
float sweep );
145 virtual void slot_setBeamElevationRange(
const DtUniqueID& beamId,
float center,
float sweep );
146 virtual void slot_setBeamERP(
const DtUniqueID& beamId,
float erp );
147 virtual void slot_setBeamFrequency(
const DtUniqueID& beamId,
float freq );
148 virtual void slot_setBeamPulseWidth(
const DtUniqueID& beamId,
float width );
156 virtual void setBeamModelRelativePosition( DtModelAgent* beamModel, DtVector32
offset) = 0;
157 virtual void setBeamModelAzimuthRange( DtModelAgent* beamModel,
float center,
float sweep ) = 0;
158 virtual void setBeamModelElevationRange( DtModelAgent* beamModel,
float center,
float sweep ) = 0;
159 virtual void setBeamModelScale( DtModelAgent* beamModel,
double scale) = 0;
163 virtual void updateBeamModelColors( DtModelAgent* beamModel,
float freq,
float prf);
164 virtual void setBeamInsideColor( DtModelAgent* beamModel,
float r,
float g,
float b,
float a ) = 0;
165 virtual void setBeamOutsideColor( DtModelAgent* beamModel,
float r,
float g,
float b,
float a ) = 0;
172 virtual void setInitialValuesFromVisualizerDefinition()
override;
175 virtual void connectToListenerSignals()
override;
186 virtual double calculateBeamScale(
float elevationRangeSweep,
float azimuthRangeSweep,
float erPower );
196 virtual void computeColorForFrequency(
double hi,
double low,
197 double act,
float innerColor[4],
float outerColor[4] );
206 static void hsv2rgb(
float hue,
float sat,
float val,
float color[3] );
210 virtual void destroyEmitterBeam(
const DtUniqueID& );
212 virtual void destroyEmitterBeamModel( DtModelAgent* );
228 float myNearColor[4];
Protocol independent emitter volume visualizer.
Definition: DtEntityEmitterVolumeVisualizer.h:31
Definition: DtEntityEmitterVolumeVisualizer.h:40
EmitterBeamModelMap myEmitterBeamModelMap
Definition: DtEntityEmitterVolumeVisualizer.h:218
double myLinearScale
Definition: DtEntityEmitterVolumeVisualizer.h:220
std::unordered_map< DtUniqueID, DtModelAgent * > EmitterBeamModelMap
Definition: DtEntityEmitterVolumeVisualizer.h:217
bool myUseCorrectedBeamScaleFormula
Definition: DtEntityEmitterVolumeVisualizer.h:231
double myLowFrequency
Definition: DtEntityEmitterVolumeVisualizer.h:226
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
double myHighFrequency
Definition: DtEntityEmitterVolumeVisualizer.h:225
double myExponentialScale
Definition: DtEntityEmitterVolumeVisualizer.h:221
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv:DtStateVisualizer class.
DtEntityStateListener * myEntityStateListener
Definition: DtEntityEmitterVolumeVisualizer.h:215
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
double myLowPulseFrequency
Definition: DtEntityEmitterVolumeVisualizer.h:224
ColoringMode myColoringMode
Definition: DtEntityEmitterVolumeVisualizer.h:214
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that "directs...
Definition: DtStateVisualizer.h:30
double myHighPulseFrequency
Definition: DtEntityEmitterVolumeVisualizer.h:223
Contains makVrv::DtUniqueID type.
ColoringMode
Enumeration of the coloring modes for coloring emitter volumes.
Definition: DtEntityEmitterVolumeVisualizer.h:38
DtModelSetId
Definition: DtModelSetEnums.h:19
voidpf uLong offset
Definition: ioapi.h:42
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Definition: DtEntityEmitterVolumeVisualizer.h:41
DtEntityStateListener.
Definition: DtEntityStateListener.h:137