![]() |
VR-Forces 5.0.3 Developer's Guide
|
Central manager for calculating apparent signatures in all the sensor domains. Apparent signatures are computed by querying the VRF object state repository of the target entity for its absolute (inherent) signature in the sensor domain, and then running a propagation model for that domain to correct the signature for the viewing location.
The sensor signature manager is created by DtPhysicalWorld, and access to the manager is through DtPhysicalWorld. Signature propagators are created from the DtSignaturePropagatorFactory based on the sensor domain specified in the original query.
Classes | |
| struct | SignatureCalculator |
Public Member Functions | |
| virtual | ~DtSensorSignatureManager () |
| virtual void | reinitialize () |
| virtual std::vector< DtString > | sensorDomains () const |
| virtual void | deleteBaseSignatures () |
| virtual double | calculateBaseSignature (const DtSymbolString &sensorDomain, DtSimObjectReference baseObject) const |
| virtual double | apparentObjectSignature (const DtSymbolString &sensorDomain, const DtSignaturePropagatorArgs &propagatorArgs, bool *dataAvailable=nullptr) const |
| virtual double | apparentObjectSignature (const DtSymbolString &sensorDomain, DtSimObjectReference targetObject, DtSimObjectReference viewingObject, bool *dataAvailable=nullptr) const |
| virtual double | apparentObjectSignature (const DtSignaturePropagator *propagator, const DtSymbolString &sensorDomain, const DtSignaturePropagatorArgs &propagatorArgs, bool *dataAvailable=nullptr) const |
| virtual bool | createPropagatorsFromDescriptorList (const DtSignaturePropagatorDescriptorList &descList) |
Static Public Member Functions | |
| static DtSensorSignatureManager * | create (DtPhysicalWorld *physicalWorld) |
Protected Types | |
| typedef std::map < DtSymbolString, DtSignaturePropagator * > | DtSignaturePropagatorMap |
| typedef std::list < DtSignatureModifierEvaluator * > | SignatureModifierEvalList |
| typedef std::map < DtSymbolString, SignatureCalculator > | SignatureCalculators |
| typedef std::map< DtString, SignatureCalculators > | SignatureCalculatorsMap |
Protected Member Functions | |
| DtSensorSignatureManager (DtPhysicalWorld *physicalWorld) | |
| virtual bool | init () |
| virtual const DtSignaturePropagator * | propagatorForDomain (const DtSymbolString &domain) const |
| void | deleteSignaturePropagators () |
| virtual double | modifySignature (DtSimObjectReference simObject, const std::list< DtSignatureModifierEvaluator * > &, double baseSignature) const |
Protected Attributes | |
| DtPhysicalWorld * | myPhysicalWorld |
| DtSignaturePropagatorMap | mySignaturePropagatorMap |
| SignatureCalculatorsMap | mySignatureCalculatorsMap |
| tbb::spin_rw_mutex | mySignatureCalculatorsMapMutex |
Private Member Functions | |
| DtSensorSignatureManager () | |
| DtSensorSignatureManager (const DtSensorSignatureManager &orig) | |
| DtSensorSignatureManager & | operator= (const DtSensorSignatureManager &orig) |
|
protected |
|
protected |
Maps for getting base sensor signature.
|
protected |
|
protected |
|
private |
Not implemented.
|
private |
Not implemented.
|
protected |
Protected to prevent uninitialized instances of DtSensorSignatureManager. Call create() to instantiate a new DtSensorSignatreManager.
|
virtual |
|
private |
Not implemented.
|
protectedvirtual |
Called by create() after constructor.
|
static |
Constructs a new instance, and calls init() on it.
|
virtual |
Resets any internals when scenario is closed.
|
virtual |
|
virtual |
Clears out any cached signature evaluators.
|
virtual |
|
virtual |
|
virtual |
Convenience function. Creates a DtSignaturePropagatorArgs with the provided target and viewing object, and calls the above function.
|
virtual |
Convenience function. Allows you to pass in a custom propagator that a user created along with the arguments that they added. This does the same as apparentObjectSignature(const DtSymbolString& sensorDomain, const DtSignaturePropagatorArgs& propagatorArgs) const.
|
virtual |
Instantiates a new propagator for each sensor domain specified in the provided descriptor list using the DtSensorSignatureFactory and the types specified. New propagators are put in mySignaturePropagatorMap indexed by domain.
|
protectedvirtual |
Returns the signature propagator for the specified domain by looking it up in mySignaturePropagatorMap. If one is not found and cannot be created, returns NULL.
|
protected |
Removes and deletes all propagators from mySignaturePropagatorMap. Non-virtual because it is called from the destructor.
|
protectedvirtual |
Calls the evaluators in the list to modify the base signature.
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |