![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: sensorSignatureManager.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef sensorSignatureManager_H_ 00009 #define sensorSignatureManager_H_ 00010 00014 00017 00018 #include "tdbutil/symStr.h" 00019 #include <vlutil/vlConfig.h> 00020 #include <map> 00021 00022 class DtPhysicalWorld; 00023 class DtVrfObject; 00024 class DtVector; 00025 class DtSignaturePropagator; 00026 class DtSignaturePropagatorArgs; 00027 class DtSignaturePropagatorDescriptorList; 00028 00037 #include "vrfobjcore/vrfobjcoreDefines.h" 00038 class DT_DLL_vrfobjcore DtSensorSignatureManager 00039 { 00040 private: 00042 DtSensorSignatureManager(); 00044 DtSensorSignatureManager(const DtSensorSignatureManager& orig); 00046 DtSensorSignatureManager& operator=(const DtSensorSignatureManager& orig); 00047 00048 protected: 00051 DtSensorSignatureManager(DtPhysicalWorld* physicalWorld); 00052 00055 virtual bool init(); 00056 00057 public: 00061 static DtSensorSignatureManager* create(DtPhysicalWorld* physicalWorld); 00062 00063 virtual ~DtSensorSignatureManager(); 00064 00066 virtual void reinitialize(); 00067 00072 virtual double apparentObjectSignature(const DtSymbolString& sensorDomain, 00073 const DtSignaturePropagatorArgs& propagatorArgs) const; 00074 00077 virtual double apparentObjectSignature(const DtSymbolString& sensorDomain, 00078 const DtVrfObject* targetObject, const DtVrfObject* viewingObject) const; 00079 00083 virtual double apparentObjectSignature(const DtSignaturePropagator* propagator, 00084 const DtSymbolString& sensorDomain, const DtSignaturePropagatorArgs& propagatorArgs) const; 00085 00091 virtual bool createPropagatorsFromDescriptorList( 00092 const DtSignaturePropagatorDescriptorList& descList); 00093 00094 protected: 00098 virtual const DtSignaturePropagator* propagatorForDomain(const DtSymbolString& domain) const; 00099 00102 void deleteSignaturePropagators(); 00103 00104 protected: 00105 DtPhysicalWorld* myPhysicalWorld; 00106 typedef std::map<DtSymbolString, DtSignaturePropagator*> DtSignaturePropagatorMap; 00107 DtSignaturePropagatorMap mySignaturePropagatorMap; 00108 }; 00109 00110 #endif