VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
counterBatteryRadarSensor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
18 
19 #include <vector>
20 
21 class DtFireContext;
23 class DtEntityType;
24 class DtSimMunition;
28 
31 {
32 private:
38 
39 public:
43 
47  void localize(const DtExtent& extent);
48 };
49 
57 {
58 private:
61 
64  orig);
65 
69 
70 public:
71  typedef std::map<DtSimMunition, double> DtMunitionSignatureMap;
72 
74 
78  DtLocalObject* owner,
79  DtSimulationServices* simManager,
80  DtComponentDescriptor* desc = 0,
81  DtReaderWriterRegistry* parentRegistry = 0);
82 
84  virtual ~DtCounterBatteryRadarSensor();
85 
87  virtual double absoluteSignatureMunition(const DtSimMunition& muni);
88 
90  virtual double bestMatchDefaultSignature(const DtEntityType& muniType);
91 
93  virtual void clearDetections();
94 
95  virtual bool init();
96 
98  virtual bool isInterestedInShooterType(const DtEntityType& shooterType);
99 
102  virtual const char* type() const;
103 
112  virtual void tick();
113 
117  virtual bool processDetectableObjectFilter(const DtSimObject* pObj);
118  static bool detectableObjectFilterCallback(const DtSimObject* object, void * usr);
120 
123  virtual bool processFireInteraction(const DtFireContext& fireContext);
124  static bool fireInteractionCallback(const DtFireContext& fireContext, void* usr);
126 
128  virtual void processInfluence(DtBoost::shared_ptr<const makVrfEvents::DtInfluenceEvent> evnt);
129 
131  static void influenceEventCallback(DtBoost::shared_ptr<const makVrfEvents::DtInfluenceEvent> event, void* usr);
132 
136  static DtSimComponent * creator(const DtString& name,
137  DtLocalObject* owner,
138  DtSimulationServices* simManager,
139  DtComponentDescriptor* desc = 0,
140  DtReaderWriterRegistry* parentRegistry = 0);
141 
142 protected:
143 
145  virtual void ageDetections();
146 
148  virtual double apparentSignature(DtSimObjectReference object,
149  bool losValueIfTerrainUnavailable,
150  double sensorSensitivity) const;
151 
155  virtual const char* defaultPSRType() const;
156 
158  virtual void processObjects();
159 
162  virtual void refineFireLocation(DtCounterBatterySignatureAccumulator& accumulator,
163  const DtVector& geoc,
164  int quantity);
165 
168  DtRwSensorContactInfo * contactInfo, const int updateLevel);
169 
171  virtual void updateDetectableObjectsList();
172 
174  virtual DtSimObjectReference findSuperiorToReport(DtSimObjectReference subordinate) const;
175 
176 protected:
177 
180  std::vector<int> myAggregateCategoryRanks;
181 
184 
187 
190 
191 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool init()
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...
Extends DtRadarObjectSensorPSR.
Definition: counterBatterySensorPSR.h:21
const DtRadarObjectSensor & operator=(const DtRadarObjectSensor &orig)
assignment operator; not implemented
virtual const char * type() const
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual void updateDetectableObjectsList()
Sets up myDetectableObjectList as a list that contains all entity types/forces specified in both the ...
Overridden, units are not in spatial organization. Just return the items on the source list...
Definition: counterBatteryRadarSensor.h:30
DtMunitionSignatureMap myMunitionSignatureMap
Absolute signatures of munitions by munition type (DtEntityType)
Definition: counterBatteryRadarSensor.h:183
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Filters the contents of a DtManagedObjectList using a spatial organization to generate a list of only...
Definition: localizedManagedObjectList.h:23
DtCounterBatteryRadarSensor extends the DtRadarObjectSensor.
Definition: counterBatteryRadarSensor.h:56
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
This class represents the data gathered by a sensor about a particular single sensor contact...
Definition: rwSensorContactInfo.h:68
The DtFireContext class exists to contain all the relevent information necessary for an entity to pro...
Definition: fireContext.h:23
virtual double apparentSignature(DtSimObjectReference object, bool losValueIfTerrainUnavailable, double sensorSensitivity) const
Returns the apparent signature of the specified object using sensorSignatureManager::apparentObjectSi...
DtLocalizedManagedObjectList & operator=(DtLocalizedManagedObjectList &orig)
Not implemented.
virtual bool updateContactPositionAndOrientation(DtSimObjectReference object, DtRwSensorContactInfo *contactInfo, const int updateLevel)
Called from updateSensorContactInfo, return true if changes made.
std::vector< int > myAggregateCategoryRanks
See DtAggregateCategory in vrfExtProtocol/objectTypeEnums.h. Arranges echelon level in order...
Definition: counterBatteryRadarSensor.h:180
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
virtual void processObjects() override
Overridden from parent to manage the add/remove notifications for track targets.
DtRadarObjectSensor extends the DtSignatureObjectSensor with the capability of publishing an emitter ...
Definition: radarObjectSensor.h:45
DtCounterBatterySensorPSR * pMyCounterBatterySensorPSR
retained on
Definition: counterBatteryRadarSensor.h:189
virtual void tick()
Turns on the emitter system in the first tick, as indicated in myRadarSensorPSR. When it is time for ...
virtual void tick()
Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start...
virtual const char * defaultPSRType() const
virtual void localize(const DtExtent &extent)
Call with the extent of interest to populate this list with the subset of DtManagedObjectList that is...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:94
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:88
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList. These lists are used within VR-Fo...
Definition: managedObjectList.h:35
const DtCounterBatteryRadarSensorDescriptor * pMyCounterBatteryRadarDescriptor
retained on init
Definition: counterBatteryRadarSensor.h:186
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition: counterBatterySensorPSR.h:100
DtSimMunition class.
Definition: simMunition.h:31
DtCounterBatteryRadarSensorDescriptor; descriptor for the DtCounterBatteryRadarSensor component...
Definition: counterBatteryRadarSensorDescriptor.h:22
std::map< DtSimMunition, double > DtMunitionSignatureMap
Definition: counterBatteryRadarSensor.h:71
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

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)