13 #include <vlpi/disEnums.h>
14 #include <vlpi/netStructs.h>
16 #include <vl/underwaterAcousticsStateRepository.h>
19 class DtActiveSonarPublisher;
20 class DtUnderwaterAcousticsPublisher;
21 class DtPropulsionNoisePublisher;
22 class DtActiveSonarStateRepository;
23 class DtActiveSonarBeamRepository;
43 virtual void setUsePropulsionNoisePublisher(
bool);
44 virtual void setUseActiveSonarPublisher(
bool);
50 virtual void addActiveSonar(DtU8
id);
53 virtual void removeActiveSonar(DtU8
id);
56 virtual DtActiveSonarStateRepository* activeSonarSR(DtU8);
59 virtual void setSystemName(DtU8, DtUnderwaterAcousticSystemName nameEnum);
62 virtual DtUnderwaterAcousticSystemName systemName(DtU8);
65 virtual void setSystemFunction(DtU8, DtUnderwaterAcousticFunction);
68 virtual DtUnderwaterAcousticFunction systemFunction(DtU8);
71 virtual void setMountLocation(DtU8,
const DtVector &location);
72 virtual DtVector mountLocation(DtU8);
75 virtual DtActiveSonarBeamRepository* addBeam(DtU8 systemId, DtU8
id);
78 virtual void removeBeam(DtU8 systemId, DtU8
id);
81 virtual void removeAllBeams(DtU8 systemId);
84 virtual DtActiveSonarBeamRepository* beam(DtU8 systemId, DtU8
id);
87 virtual int numBeams(DtU8);
90 virtual DtList* beamList(DtU8 systemId);
96 virtual void setShaftData(
const std::vector<DtUnderwaterAcousticShaftSpeed>&);
97 virtual std::vector<DtUnderwaterAcousticShaftSpeed> shaftData();
105 return myActiveSonars;
110 return myUnderwaterAcoustics;
115 return myPropulsionNoise;
120 virtual DtUnderwaterAcousticsPublisher* getOrCreateAndInitUnifiedPublisher();
123 virtual DtPropulsionNoisePublisher* getOrCreateAndInitPropulsionNoisePublisher();
126 virtual DtActiveSonarPublisher* createAndInitActiveSonarPublisher(DtU8
id);
130 virtual bool publishersCanBeCreated();
133 virtual bool unified()
const;
std::map< DtU8, DtActiveSonarPublisher * > & activeSonars()
{@ Accessors.
Definition: vrfUnderwaterAcoustics.h:103
bool myChecked
Definition: vrfUnderwaterAcoustics.h:150
Definition: vrfUnderwaterAcoustics.h:26
std::map< DtU8, DtActiveSonarPublisher * > myActiveSonars
If only using sonar these are the list of sonar publishers by system id.
Definition: vrfUnderwaterAcoustics.h:139
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtUnderwaterAcousticsPublisher * underwaterAcoustics()
Definition: vrfUnderwaterAcoustics.h:108
DtUnderwaterAcousticsPublisher * myUnderwaterAcoustics
If publishing both sonar and propulsion noise, use this publisher.
Definition: vrfUnderwaterAcoustics.h:142
DtPropulsionNoisePublisher * propulsionNoise()
Definition: vrfUnderwaterAcoustics.h:113
bool myWarned
Definition: vrfUnderwaterAcoustics.h:149
DtVrfObject * myOwner
Definition: vrfUnderwaterAcoustics.h:136
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtPropulsionNoisePublisher * myPropulsionNoise
If only publishing propulsion noise.
Definition: vrfUnderwaterAcoustics.h:145
bool myUseActiveSonarPublisher
Definition: vrfUnderwaterAcoustics.h:148
bool myUsePropulsionNoisePublisher
Definition: vrfUnderwaterAcoustics.h:147