VR-Forces 4.0.4 Class Documentation
include/vrfmodel/rotWingTaskCtl.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: rotWingTaskCtl.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef rotWingTaskCtl_H_
00016 #define rotWingTaskCtl_H_
00017 
00018 #include "vrfobjcore/singleTaskControllerComponent.h"
00019 #include "vrfmodel/vrfmodelDefines.h"
00020 
00021 class DtString;
00022 class DtSimManager;
00023 class DtRotaryWingEntityStateRepository;
00024 class DtRotaryWingFlightPSR;
00025 class DtAnalogOutputPort;
00026 class DtVectorOutputPort;
00027 class DtOutputPortGroup;
00028 class DtBooleanOutputPort;
00029 
00034 class DT_DLL_vrfmodel DtRotaryWingTaskController : public DtSingleTaskControllerComponent
00035 {
00036 public:
00039    DtRotaryWingTaskController(const DtString& name, 
00040       DtVrfObject* owner,
00041       DtSimManager* simManager, 
00042       DtComponentDescriptor* desc = 0,
00043       DtReaderWriterRegistry* parentRegistry = 0);
00044 
00046    virtual ~DtRotaryWingTaskController();
00047 
00049    virtual bool init();
00050 
00052    virtual DtString type() const = 0;
00053 
00056    virtual void clearTask();
00057 
00060 
00061    virtual void setDesiredPosition(const DtVector& pos);
00062    virtual void setDesiredVelocity(const DtVector& vel);
00063    virtual void setDesiredAcceleration(const DtVector& accel);
00064    virtual void setDesiredHeading(double heading);
00065    virtual void setPositionSelector(double sel);
00066    virtual void setVelocitySelector(double sel);
00067    virtual void setAccelerationSelector(double sel);
00068    virtual void setHeadingSelector(double sel);
00069    virtual void setAggressiveness(double agg);
00070    virtual void setPowerDown(bool powerDown);
00072 
00074 
00075    virtual DtVectorOutputPort *desiredPositionPort();
00076    virtual DtVectorOutputPort *desiredVelocityPort();
00077    virtual DtVectorOutputPort *desiredAccelerationPort();
00078    virtual DtAnalogOutputPort *desiredHeadingPort();
00079    virtual DtAnalogOutputPort *positionSelectorPort();
00080    virtual DtAnalogOutputPort *velocitySelectorPort();
00081    virtual DtAnalogOutputPort *accelerationSelectorPort();
00082    virtual DtAnalogOutputPort *headingSelectorPort();
00083    virtual DtAnalogOutputPort *aggressivenessPort();
00084    virtual DtBooleanOutputPort* powerDownPort();
00086 
00087 protected:
00088    
00090    virtual bool createPortGroups();
00091 
00093    virtual bool createPorts();
00094 
00096 
00097    virtual bool createGuidancePortGroup();
00098    virtual bool createDesiredPositionPort();
00099    virtual bool createDesiredVelocityPort();
00100    virtual bool createDesiredAccelerationPort();
00101    virtual bool createDesiredHeadingPort();
00102    virtual bool createPositionSelectorPort();
00103    virtual bool createVelocitySelectorPort();
00104    virtual bool createAccelerationSelectorPort();
00105    virtual bool createHeadingSelectorPort();
00106    virtual bool createAggressivenessPort();
00107    virtual bool createPowerDownPort();
00109 
00117    virtual void lookupAndCacheProcessSR();
00118 
00121    virtual bool postAddComponentsInit();
00122 
00123 private:
00125    DtRotaryWingTaskController();
00126 
00128    DtRotaryWingTaskController(const DtRotaryWingTaskController & 
00129       orig);
00130 
00132    const DtRotaryWingTaskController & operator=(const 
00133       DtRotaryWingTaskController & orig);
00134 
00135 
00136 protected:
00137 
00138    DtRotaryWingEntityStateRepository * myRotaryWingEntityState;
00139 
00141 
00142 
00146    DtOutputPortGroup *myGuidancePortGroup;
00147 
00152    DtVectorOutputPort *myDesiredPositionPort;
00153 
00158    DtVectorOutputPort *myDesiredVelocityPort;
00159 
00164    DtVectorOutputPort *myDesiredAccelerationPort;
00165 
00170    DtAnalogOutputPort *myDesiredHeadingPort;
00171 
00177    DtAnalogOutputPort *myPositionSelectorPort;
00178 
00184    DtAnalogOutputPort *myVelocitySelectorPort;
00185 
00191    DtAnalogOutputPort *myAccelerationSelectorPort;
00192 
00198    DtAnalogOutputPort *myHeadingSelectorPort;
00199 
00205    DtAnalogOutputPort *myAggressivenessPort;
00206 
00215    DtBooleanOutputPort* myPowerDownPort;
00217 
00223    DtRotaryWingFlightPSR*              myProcessState;
00224 };
00225 #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)