![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00011 00012 #ifndef radarObjectSensor_H_ 00013 #define radarObjectSensor_H_ 00014 00015 #include "vrfmodel/signatureObjectSensor.h" 00016 00017 class DtVrfEmitterSystem; 00018 class DtRadarObjectSensorDescriptor; 00019 class DtRadarObjectSensorPSR; 00020 class DtSimMessage; 00021 class DtVrfObjectMessage; 00022 class DtVrfObjectCommunicationInterface; 00023 00039 #include "vrfmodel/vrfmodelDefines.h" 00040 class DT_DLL_vrfmodel DtRadarObjectSensor : public DtSignatureObjectSensor 00041 { 00042 private: 00044 DtRadarObjectSensor(); 00045 00047 DtRadarObjectSensor(const DtRadarObjectSensor & 00048 orig); 00049 00051 const DtRadarObjectSensor & operator=(const 00052 DtRadarObjectSensor & orig); 00053 00054 public: 00055 00058 DtRadarObjectSensor(const DtString& name, 00059 DtVrfObject* owner, 00060 DtSimManager* simManager, 00061 DtComponentDescriptor* desc = 0, 00062 DtReaderWriterRegistry* parentRegistry = 0); 00063 00065 virtual ~DtRadarObjectSensor(); 00066 00067 virtual bool init(); 00068 00071 virtual DtString type() const; 00072 00074 virtual int sensorType() const; 00075 00084 virtual void tick(); 00085 00089 static DtSimComponent * creator(const DtString& name, 00090 DtVrfObject* owner, 00091 DtSimManager* simManager, 00092 DtComponentDescriptor* desc = 0, 00093 DtReaderWriterRegistry* parentRegistry = 0); 00094 00095 protected: 00100 virtual bool detectObject(DtVrfObject* object, DtRwSensorContactInfo* contactInfo); 00101 00106 virtual bool continueDetectingObject(DtVrfObject* object, DtRwSensorContactInfo* contactInfo, 00107 bool& contactInfoModified); 00108 00110 virtual const char* defaultPSRType() const; 00111 00115 virtual void createAndInitEmitterSystem(); 00116 00118 virtual void destroyEmitterSystem(); 00119 00122 static void setEmitterRequestCallback(DtSimMessage *msg, void * usrData); 00123 00126 virtual void processSetEmitterRequestMessage(DtSimMessage *msg); 00127 00128 static void setRadarModeRequestCallback(DtSimMessage* msg, void* usrData); 00129 virtual void processSetRadarModeRequestMessage(DtSimMessage *msg); 00130 00131 static void requestRadarModesAdminCallback(const DtVrfObjectMessage* msg, void* usr); 00132 virtual void processRequestRadarModesAdmin(DtString receiver, 00133 DtString sender, 00134 bool isEchelonId, 00135 const DtVrfObjectMessage* msg); 00136 00139 virtual void setEmitterSystemOn(bool onOff); 00140 00141 protected: 00142 const DtRadarObjectSensorDescriptor* myRadarObjectSensorDescriptor; 00143 DtVrfEmitterSystem* myEmitterSystem; 00146 DtRadarObjectSensorPSR* myRadarSensorPSR; 00148 bool myFirstTick; 00149 DtU8 myEmitterSystemId; 00150 00151 }; 00152 00153 #endif 00154