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 
17 
19 
20 #include <vector>
21 
22 class DtFireContext;
24 class DtEntityType;
25 class DtSimMunition;
28 
31 {
32 private:
38 
39 public:
43 
47  virtual void localize(const DtExtent& extent) override;
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() override;
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() override;
96 
98  virtual bool isInterestedInShooterType(const DtEntityType& shooterType);
99 
102  virtual const char* type() const override;
103 
112  virtual void tick() override;
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(std::shared_ptr<const makVrfEvents::DtInfluenceEvent> evnt);
129 
131  static void influenceEventCallback(std::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(
149  DtSimObjectReference object, bool losValueIfTerrainUnavailable, double sensorSensitivity) const override;
150 
154  virtual const char* defaultPSRType() const override;
155 
157  virtual void processObjects() override;
158 
161  virtual void refineFireLocation(DtCounterBatterySignatureAccumulator& accumulator,
162  const DtVector& geoc,
163  int quantity);
164 
167  DtSimObjectReference object, DtRwSensorContactInfo* contactInfo, const int updateLevel) override;
168 
170  virtual void updateDetectableObjectsList() override;
171 
173  virtual DtSimObjectReference findSuperiorToReport(DtSimObjectReference subordinate) const;
174 
175 protected:
176 
179  std::vector<int> myAggregateCategoryRanks;
180 
183 
186 
189 
190 };
virtual void tick() override
Turns on the emitter system in the first tick, as indicated in myRadarSensorPSR. When it is time for ...
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
Extends DtRadarObjectSensorPSR.
Definition: counterBatterySensorPSR.h:21
const DtRadarObjectSensor & operator=(const DtRadarObjectSensor &orig)
assignment operator; not implemented
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:182
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
std::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
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:24
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.
virtual void tick() override
Overridden from base class to update myLocalSensorPosition (using localSensorPosition()) at the start...
std::vector< int > myAggregateCategoryRanks
See DtAggregateCategory in vrfExtProtocol/objectTypeEnums.h. Arranges echelon level in order...
Definition: counterBatteryRadarSensor.h:179
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:112
virtual bool init() override
Calls createPSR(), createDetectableObjectList(), createAndInitSensorMonitor() and initSensorGeometry(...
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:188
virtual const char * defaultPSRType() const override
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:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
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:80
Contains the DtSimObjectReference class declaration.
const DtCounterBatteryRadarSensorDescriptor * pMyCounterBatteryRadarDescriptor
retained on init
Definition: counterBatteryRadarSensor.h:185
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.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)