VR-Forces 4.0.4 Class Documentation
include/vrfmodel/signatureObjectSensor.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: signatureObjectSensor.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef signatureObjectSensor_H_
00016 #define signatureObjectSensor_H_
00017 
00018 #include "vrfmodel/objectSensor.h"
00019 #include "tdbutil/symStr.h"
00020 
00021 class DtSignatureObjectSensorDescriptor;
00022 class DtSignatureDetectLevelDeterminator;
00023 
00039 #include "vrfmodel/vrfmodelDefines.h"
00040 class DT_DLL_vrfmodel DtSignatureObjectSensor : public DtObjectSensor
00041 {
00042 private:
00044    DtSignatureObjectSensor();
00045 
00047    DtSignatureObjectSensor(const DtSignatureObjectSensor & 
00048       orig);
00049 
00051    const DtSignatureObjectSensor & operator=(const 
00052       DtSignatureObjectSensor & orig);
00053 
00054 public:
00055 
00058    DtSignatureObjectSensor(const DtString& name, 
00059       DtVrfObject* owner,
00060       DtSimManager* simManager, 
00061       DtComponentDescriptor* desc = 0,
00062       DtReaderWriterRegistry* parentRegistry = 0);
00063 
00065    virtual ~DtSignatureObjectSensor();
00066 
00067    virtual bool init();
00068 
00071    virtual DtString type() const;
00072 
00080    virtual int sensorType() const;
00081 
00085    virtual void tick();
00086 
00091    virtual int determineForceType(DtVrfObject * object,DtRwSensorContactInfo * contactInfo);
00092 
00096    static DtSimComponent * creator(const DtString& name, 
00097       DtVrfObject* owner,
00098       DtSimManager* simManager, 
00099       DtComponentDescriptor* desc = 0,
00100       DtReaderWriterRegistry* parentRegistry = 0);
00101 
00102 protected:
00109    virtual bool detectObject(DtVrfObject* object, DtRwSensorContactInfo* contactInfo);
00110 
00115    virtual bool continueDetectingObject(DtVrfObject* object, DtRwSensorContactInfo* contactInfo,
00116       bool& contactInfoModified);
00117 
00120    virtual double minimumSignatureThreshold() const;
00121 
00134    virtual double apparentSignature(DtVrfObject* object,
00135       bool losValueIfTerrainUnavailable) const;
00136 
00145    virtual bool determineIdentificationLevel(DtVrfObject * object, 
00146       DtRwSensorContactInfo * contactInfo, double appSignature,int & level,bool& contactInfoModified);
00147 
00148    virtual void updateSensorContactInfo( DtVrfObject * object,
00149       DtRwSensorContactInfo * contactInfo,int updateLevel);
00150 
00154    virtual void addDetectionError(DtRwSensorContactInfo * info,int level);
00155 
00159    virtual bool objectInSector(const DtVrfObject * object) const;
00160    //End deprecation
00161 
00164    virtual DtVector localSensorPosition() const;
00165 
00166 protected:
00167    const DtSignatureObjectSensorDescriptor* mySignatureObjectSensorDescriptor;
00168    DtSymbolString mySensorDomain;
00169    DtVector myLocalSensorPosition;
00170    DtSignatureDetectLevelDeterminator * myDetectionLevelDeterminator;
00171 };
00172 
00173 #endif
00174 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)