![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00011 00012 00013 #pragma once 00014 00015 #include "vrfobjcore/cntrlCmpnt.h" 00016 #include "vrfobjcore/simRadio.h" 00017 #include "vrfobjcore/lclEntSetCtlrPSR.h" 00018 00019 class DtSimMessage; 00020 class DtVrfObject; 00021 00022 00030 00031 #include "vrfmodel/vrfmodelDefines.h" 00032 class DT_DLL_vrfmodel DtLocalEntitySetController : public DtControllerComponent 00033 { 00034 00035 public: 00036 00039 DtLocalEntitySetController(const DtString& name, 00040 DtVrfObject* owner, 00041 DtSimManager* simManager, 00042 DtComponentDescriptor* desc = 0, 00043 DtReaderWriterRegistry* parentRegistry = 0); 00044 00046 virtual ~DtLocalEntitySetController(); 00047 00049 virtual bool init(); 00050 00053 virtual DtString type() const; 00054 00055 virtual void processSetForce(DtSimMessage * msg); 00056 virtual void processSetAppearance(DtSimMessage * msg); 00057 virtual void processSetCapabilities(DtSimMessage * msg); 00058 virtual void processSetAltitude(DtSimMessage * msg); 00059 virtual void processSetResource(DtSimMessage * msg); 00060 virtual void processSetSOR(DtSimMessage * msg); 00061 virtual void processSetSpeed(DtSimMessage * msg); 00062 virtual void processSetEngagementRules(DtSimMessage * msg); 00063 virtual void processSetRestore(DtSimMessage * msg); 00064 virtual void processSetConcealed(DtSimMessage * msg); 00065 00072 virtual void processSetLocation(DtSimMessage * msg); 00073 00076 virtual void setLocation(DtVector geocentricLocation); 00077 00084 virtual void processSetHeading(DtSimMessage * msg); 00085 00087 virtual void setHeading(DtReal heading); 00088 00090 virtual void enable(); 00091 00093 virtual void disable(); 00094 00097 virtual void tick(); 00098 00106 virtual bool createPSR(); 00107 00108 public: 00109 static void setHeadingCallback(DtSimMessage * msg, void * usrData); 00110 static void setForceCallback(DtSimMessage * msg, void * usrData); 00111 static void setLocationCallback(DtSimMessage * msg, void * usrData); 00112 static void setAppearanceCallback(DtSimMessage * msg, void * usrData); 00113 static void setCapabilitiesCallback(DtSimMessage * msg, void * usrData); 00114 static void setAltitudeCallback(DtSimMessage * msg, void * usrData); 00115 static void setResourceCallback(DtSimMessage * msg, void * usrData); 00116 static void setSORCallback(DtSimMessage * msg, void * usrData); 00117 static void setSpeedCallback(DtSimMessage * msg, void * usrData); 00118 static void setEngagementRulesCallback(DtSimMessage * msg, void * usrData); 00119 static void setRestoreCallback(DtSimMessage * msg, void * usrData); 00120 static void setConcealedCallback(DtSimMessage * msg, void * usrData); 00121 00125 static DtSimComponent * creator(const DtString& name, 00126 DtVrfObject* owner, 00127 DtSimManager* simManager, 00128 DtComponentDescriptor* desc = 0, 00129 DtReaderWriterRegistry* parentRegistry = 0); 00130 00131 protected: 00134 DtLocalEntitySetController(); 00135 00137 DtLocalEntitySetController(const DtLocalEntitySetController& orig); 00138 00140 const DtLocalEntitySetController & operator=(const 00141 DtLocalEntitySetController& orig); 00142 00143 00144 protected: 00146 virtual void setRadio(DtSimRadio * radio); 00147 00150 virtual void addSetDataCallbacks(); 00151 00154 void removeSetDataCallbacks(); 00155 00156 protected: 00158 DtVrfObject* myLocalEntity; 00159 00162 DtLocalEntitySetControllerPSR* myProcessState; 00163 }; 00164