VR-Forces 4.0.4 Class Documentation
include/vrfmodel/rotWngPltCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999-2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: rotWngPltCtl.h,v $ $Revision: 1.27 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtRotaryWingPilotController_H_
00016 #define DtRotaryWingPilotController_H_
00017 
00018 #include "vrfobjcore/cntrlCmpnt.h"
00019 #include <matrix/LibMatrix.h>
00020 
00021 class DtString;
00022 class DtSimManager;
00023 class DtConstrainedAnalogOutputPort;
00024 class DtConstrainedDualAxisAnalogOutputPort;
00025 class DtRotaryWingEntityStateRepository;
00026 class DtOutputPortGroup;
00027 class DtInputPortGroup;
00028 class DtVectorInputPort;
00029 class DtAnalogInputPort;
00030 class DtBooleanInputPort;
00031 
00036 #include "vrfmodel/vrfmodelDefines.h"
00037 class DT_DLL_vrfmodel DtRotaryWingPilotController : public DtControllerComponent
00038 {
00039 
00040 public:
00041 
00044    DtRotaryWingPilotController(const DtString& name, 
00045       DtVrfObject* owner,
00046       DtSimManager* simManager, 
00047       DtComponentDescriptor* desc = 0,
00048       DtReaderWriterRegistry* parentRegistry = 0);
00049 
00051    virtual ~DtRotaryWingPilotController();
00052 
00054    virtual bool init();
00055 
00057    virtual void tick();
00058 
00061    virtual DtString type() const;
00062 
00064 
00065    virtual bool createGuidancePortGroup();
00066    virtual bool createDesiredPositionPort();
00067    virtual bool createDesiredVelocityPort();
00068    virtual bool createDesiredAccelerationPort();
00069    virtual bool createDesiredHeadingPort();
00070    virtual bool createPositionSelectorPort();
00071    virtual bool createVelocitySelectorPort();
00072    virtual bool createAccelerationSelectorPort();
00073    virtual bool createHeadingSelectorPort();
00074    virtual bool createAggressivenessPort();
00075    virtual bool createPowerDownPort();
00077 
00079 
00080    virtual DtVectorInputPort *desiredPositionPort();
00081    virtual DtVectorInputPort *desiredVelocityPort();
00082    virtual DtVectorInputPort *desiredAccelerationPort();
00083    virtual DtAnalogInputPort *desiredHeadingPort();
00084    virtual DtAnalogInputPort *positionSelectorPort();
00085    virtual DtAnalogInputPort *velocitySelectorPort();
00086    virtual DtAnalogInputPort *accelerationSelectorPort();
00087    virtual DtAnalogInputPort *headingSelectorPort();
00088    virtual DtAnalogInputPort *aggressivenessPort();
00089    virtual DtBooleanInputPort* powerDownPort();
00091 
00094 
00095    virtual bool createRotaryWingControlPortGroup();
00096    virtual bool createThrottlePort();
00097    virtual bool createCollectivePort();
00098    virtual bool createCyclicPort();
00099    virtual bool createPedalPort();
00101 
00102    virtual DtConstrainedAnalogOutputPort * throttlePort();
00103    virtual DtConstrainedAnalogOutputPort * collectivePort();
00104    virtual DtConstrainedDualAxisAnalogOutputPort *  cyclicPort();
00105    virtual DtConstrainedAnalogOutputPort * pedalPort();
00106 
00110    static DtSimComponent * creator(const DtString& name, 
00111       DtVrfObject* owner,
00112       DtSimManager* simManager, 
00113       DtComponentDescriptor* desc = 0,
00114       DtReaderWriterRegistry* parentRegistry = 0);
00115 
00116 protected:
00117    
00119    virtual bool createPortGroups();
00120 
00122    virtual bool createPorts();
00123 
00125    virtual void setStateFromPorts();
00126 
00127 protected:
00128    
00130    DtRotaryWingPilotController();
00131 
00133    DtRotaryWingPilotController(const DtRotaryWingPilotController & 
00134       orig);
00135 
00137    const DtRotaryWingPilotController & operator=(const 
00138       DtRotaryWingPilotController & orig);
00139 
00140 
00141 protected:
00142 
00143    DtRotaryWingEntityStateRepository * myRotaryWingEntityState;
00144 
00146 
00147 
00150    DtOutputPortGroup* myRotaryWingControlPortGroup;
00151 
00157    DtConstrainedAnalogOutputPort* myThrottlePort;
00158 
00164    DtConstrainedAnalogOutputPort* myCollectivePort;
00165 
00171    DtConstrainedDualAxisAnalogOutputPort* myCyclicPort;
00172 
00178    DtConstrainedAnalogOutputPort* myPedalPort;
00179 
00183    DtInputPortGroup *myGuidancePortGroup;
00184 
00189    DtVectorInputPort *myDesiredPositionPort;
00190 
00195    DtVectorInputPort *myDesiredVelocityPort;
00196 
00201    DtVectorInputPort *myDesiredAccelerationPort;
00202 
00207    DtAnalogInputPort *myDesiredHeadingPort;
00208 
00214    DtAnalogInputPort *myPositionSelectorPort;
00215 
00221    DtAnalogInputPort *myVelocitySelectorPort;
00222 
00228    DtAnalogInputPort *myAccelerationSelectorPort;
00229 
00235    DtAnalogInputPort *myHeadingSelectorPort;
00236 
00242    DtAnalogInputPort *myAggressivenessPort;
00243 
00252    DtBooleanInputPort* myPowerDownPort;
00253 
00255 
00256    DtVector                           myNormalizedBodyVelocity;
00257 };
00258 #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)