![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: underFireDeterminationSensor.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef underFireDeterminationSensor_H_ 00015 #define underFireDeterminationSensor_H_ 00016 00017 00018 class DtSimMessage; 00019 class DtSimBaseRadio; 00020 00021 00022 #include "vrfobjcore/actCmpnt.h" 00023 #include "vrfobjcore/fireContext.h" 00024 #include "vrfobjparam/underFireDeterCompDesc.h" 00025 00037 #include "vrfmodel/vrfmodelDefines.h" 00038 class DT_DLL_vrfmodel DtUnderFireDeterminationSensor : public DtSimComponent 00039 { 00040 00041 public: 00042 00045 DtUnderFireDeterminationSensor(const DtString& name, 00046 DtVrfObject* owner, 00047 DtSimManager* simManager, 00048 DtComponentDescriptor* desc = NULL, 00049 DtReaderWriterRegistry* parentRegistry = NULL); 00050 00053 virtual ~DtUnderFireDeterminationSensor(); 00054 00059 virtual bool init(); 00060 00068 static bool processFireCallback(const DtFireContext& fireContext, void* usr); 00069 00073 virtual bool determineUnderFire(const DtFireContext& fireContext); 00074 00077 virtual DtString type() const; 00078 00080 virtual void tick(); 00081 00084 virtual bool tickWhileDestroyed() const; 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: 00096 00098 virtual bool registerForFireNotifications(); 00099 00101 virtual bool unregisterForFireNotifications(); 00102 00106 virtual bool isRegisteredForFireNotifications(); 00107 virtual void setIsRegisteredForFireNotifications(bool yesOrNo); 00109 00111 virtual void setUnderFire(const DtFireContext& fireContext); 00112 00114 virtual void clearUnderFire(); 00115 00116 private: 00118 DtUnderFireDeterminationSensor(); 00119 00121 DtUnderFireDeterminationSensor(const DtUnderFireDeterminationSensor& orig); 00122 00124 const DtUnderFireDeterminationSensor& operator=(const DtUnderFireDeterminationSensor& orig); 00125 00126 protected: 00127 00128 DtUnderFireDeterminationComponentDescriptor* myUnderFireComponentDescriptor; 00129 00130 private: 00131 bool myIsRegisteredForFireNotifications; 00132 }; 00133 00134 #endif 00135