VR-Forces 4.0.4 Class Documentation
include/vrfmodel/msslManeuvAct.h
Go to the documentation of this file.
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

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)