![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: msslManeuvAct.h,v $ $Revision: 1.23 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtMissileManeuverActComponent_H_ 00016 #define DtMissileManeuverActComponent_H_ 00017 00018 #include <vlpi/disEnums.h> 00019 #include "vrfobjcore/actCmpnt.h" 00020 00021 class DtString; 00022 class DtSimManager; 00023 class DtMissileStateRepository; 00024 class DtConstrainedAnalogInputPort; 00025 class DtBooleanInputPort; 00026 class DtVector; 00027 class DtTaitBryan; 00028 class DtMissileManeuverActPortIntf; 00029 class DtMissileFlightPSR; 00030 00036 #include "vrfmodel/vrfmodelDefines.h" 00037 class DT_DLL_vrfmodel DtMissileManeuverActComponent : public DtActuatorComponent 00038 { 00039 00040 public: 00041 00044 DtMissileManeuverActComponent(const DtString& name, 00045 DtVrfObject* owner, 00046 DtSimManager* simManager, 00047 DtComponentDescriptor* desc = 0, 00048 DtReaderWriterRegistry* parentRegistry = 0); 00049 00051 virtual ~DtMissileManeuverActComponent(); 00052 00057 virtual bool init(); 00058 00061 virtual DtString type() const; 00062 00064 virtual void tick(); 00065 00068 virtual DtVector calculateAccelerationFromResistance(); 00069 00071 virtual void updateRepository(const DtVector & position, const DtVector & 00072 velocity, const DtVector & acceleration, const DtTaitBryan & orientation); 00073 00077 static DtSimComponent * creator(const DtString& name, 00078 DtVrfObject* owner, 00079 DtSimManager* simManager, 00080 DtComponentDescriptor* desc = 0, 00081 DtReaderWriterRegistry* parentRegistry = 0); 00082 00083 protected: 00084 00086 virtual bool createPortGroups(); 00087 00089 virtual bool createPorts(); 00090 00096 virtual bool createPSR(); 00097 00098 protected: 00099 00101 DtMissileManeuverActComponent(); 00102 00104 DtMissileManeuverActComponent(const DtMissileManeuverActComponent & orig); 00105 00107 const DtMissileManeuverActComponent & operator=(const 00108 DtMissileManeuverActComponent & orig); 00109 00110 00111 protected: 00112 00113 DtMissileStateRepository * myMissileState; 00114 00117 00120 DtInputPortGroup* myMissileControlPortGroup; 00121 00127 DtConstrainedAnalogInputPort * myThrustPort; 00128 00134 DtConstrainedAnalogInputPort * myManeuverAccelXPort; 00135 00141 DtConstrainedAnalogInputPort * myManeuverAccelYPort; 00142 00148 DtConstrainedAnalogInputPort * myManeuverAccelZPort; 00149 00155 DtBooleanInputPort * mySelfDestructPort; 00156 00158 00161 DtMissileFlightPSR* myProcessState; 00162 }; 00163 00164 #endif