VR-Forces 4.0.4 Class Documentation
include/vrfmodel/turretCntlr.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: turretCntlr.h,v $ $Revision: 1.27 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtTurretSlewController_H_
00016 #define DtTurretSlewController_H_
00017 
00018 
00019 #include "vrfobjcore/cntrlCmpnt.h"
00020 #include <vlpi/disEnums.h>
00021 
00022 class DtString;
00023 class DtSimManager;
00024 class DtConstrainedAnalogOutputPort;
00025 class DtBooleanOutputPort;
00026 class DtIntegerOutputPort;
00027 class DtVrfTurretedBalGunPSR;
00028 
00029 
00046 #include "vrfmodel/vrfmodelDefines.h"
00047 class DT_DLL_vrfmodel DtTurretSlewController : public DtControllerComponent
00048 {
00049 
00050 public:
00051 
00054    DtTurretSlewController(const DtString& name, 
00055       DtVrfObject* owner,
00056       DtSimManager* simManager, 
00057       DtComponentDescriptor* desc = 0,
00058       DtReaderWriterRegistry* parentRegistry = 0);
00059 
00061    virtual ~DtTurretSlewController();
00062 
00063    virtual bool init();
00064 
00067    virtual DtString type() const = 0;
00068 
00072    virtual void tick();
00073 
00078    virtual double approximateSlew(double angle);
00079 
00080    virtual void setMaxSlewRate(DtReal maxSlewRate);
00081    virtual DtReal maxSlewRate() const;
00082 
00083    virtual void setTurretToControl(DtArtPartType turretToControl);
00084    virtual DtArtPartType turretToControl() const;
00085 
00088    virtual double turretBodyRotation() const;
00089 
00092    virtual bool createSlewPort();
00093    virtual bool createLosPort();
00094 
00099    virtual DtConstrainedAnalogOutputPort * slewPort();
00100 
00105    virtual DtIntegerOutputPort * losPort();
00106 
00107 protected:
00108    
00110    virtual bool createPorts();
00111 
00119    virtual void lookupAndCacheProcessSR();
00120 
00121 protected:
00122    
00124    DtTurretSlewController();
00125 
00127    DtTurretSlewController(const DtTurretSlewController & orig);
00128 
00130    const DtTurretSlewController & operator=(const DtTurretSlewController & 
00131       orig);
00132 
00133 protected:
00134 
00137 
00144    DtConstrainedAnalogOutputPort * mySlewPort;
00145 
00152    DtIntegerOutputPort *           myLosPort;
00153 
00155 
00161    DtVrfTurretedBalGunPSR*         myProcessState;
00162 };
00163 
00164 #endif
00165 
00166 
00167 
00168 

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)