VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
sensorSignatureManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
14 
18 #include <vlutil/vlConfig.h>
19 #include <matrix/vlVector.h>
20 #include <map>
21 #include "tbb/spin_rw_mutex.h"
22 
23 class DtPhysicalWorld;
27 class DtSimObject;
29 
42 {
43 private:
49  DtSensorSignatureManager& operator=(const DtSensorSignatureManager& orig);
50 
51 protected:
55 
58  virtual bool init();
59 
60 public:
64  static DtSensorSignatureManager* create(DtPhysicalWorld* physicalWorld);
65 
66  virtual ~DtSensorSignatureManager();
67 
69  virtual void reinitialize();
70 
72  virtual std::vector<DtString> sensorDomains() const;
73 
75  virtual void deleteBaseSignatures();
76 
80  virtual double calculateBaseSignature(const DtSymbolString& sensorDomain, DtSimObjectReference baseObject) const;
81 
86  virtual double apparentObjectSignature(const DtSymbolString& sensorDomain,
87  const DtSignaturePropagatorArgs& propagatorArgs, bool* dataAvailable = nullptr) const;
88 
91  virtual double apparentObjectSignature(const DtSymbolString& sensorDomain,
92  DtSimObjectReference targetObject, DtSimObjectReference viewingObject, bool* dataAvailable = nullptr) const;
93 
97  virtual double apparentObjectSignature(const DtSignaturePropagator* propagator,
98  const DtSymbolString& sensorDomain, const DtSignaturePropagatorArgs& propagatorArgs, bool* dataAvailable = nullptr) const;
99 
105  virtual bool createPropagatorsFromDescriptorList(
106  const DtSignaturePropagatorDescriptorList& descList);
107 
108 protected:
112  virtual const DtSignaturePropagator* propagatorForDomain(const DtSymbolString& domain) const;
113 
116  void deleteSignaturePropagators();
117 
119  virtual double modifySignature(DtSimObjectReference simObject,
120  const std::list<DtSignatureModifierEvaluator*>&, double baseSignature) const;
121 
122 protected:
124  typedef std::map<DtSymbolString, DtSignaturePropagator*> DtSignaturePropagatorMap;
126 
128  typedef std::list<DtSignatureModifierEvaluator*> SignatureModifierEvalList;
129 
131  {
134  };
135 
136  typedef std::map<DtSymbolString, SignatureCalculator> SignatureCalculators;
137 
138  typedef std::map<DtString, SignatureCalculators> SignatureCalculatorsMap;
140 
141  mutable tbb::spin_rw_mutex mySignatureCalculatorsMapMutex;
142 };
Contains the DtSignaturePropagatorArgs class declaration.
Definition: signaturePropagatorArgs.h:22
The abstract base class for all evaluators of signature modifiers. The evaluation of signature modifi...
Definition: signatureModifierEvaluator.h:25
Definition: symbolString.h:20
SignatureCalculatorsMap mySignatureCalculatorsMap
Definition: sensorSignatureManager.h:139
Definition: signaturePropagatorDescriptorList.h:25
std::map< DtSymbolString, SignatureCalculator > SignatureCalculators
Definition: sensorSignatureManager.h:136
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: sensorSignatureManager.h:130
DtPhysicalWorld * myPhysicalWorld
Definition: sensorSignatureManager.h:123
tbb::spin_rw_mutex mySignatureCalculatorsMapMutex
Definition: sensorSignatureManager.h:141
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
Central manager for calculating apparent signatures in all the sensor domains. Apparent signatures ar...
Definition: sensorSignatureManager.h:41
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
std::list< DtSignatureModifierEvaluator * > SignatureModifierEvalList
Maps for getting base sensor signature.
Definition: sensorSignatureManager.h:128
double baseSignature
Definition: sensorSignatureManager.h:132
Base class for all sensor signal propagators. Signal propagators model the propagation of an absolute...
Definition: signaturePropagator.h:35
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:79
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
std::map< DtSymbolString, DtSignaturePropagator * > DtSignaturePropagatorMap
Definition: sensorSignatureManager.h:124
Contains the DtSimObjectReference class declaration.
SignatureModifierEvalList signatureModifierEvalList
Definition: sensorSignatureManager.h:133
DtSignaturePropagatorMap mySignaturePropagatorMap
Definition: sensorSignatureManager.h:125
std::map< DtString, SignatureCalculators > SignatureCalculatorsMap
Definition: sensorSignatureManager.h:138

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)