VR-Forces 4.0.4 Class Documentation
include/vrfmodel/gndFollwCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: gndFollwCtl.h,v $ $Revision: 1.31 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 
00016 #ifndef DtGroundFollowEntityController_H_
00017 #define DtGroundFollowEntityController_H_
00018 
00019 
00020 #include "vrfmodel/gndMvToDestinationCntlr.h"
00021 
00022 #include <vlutil/vlString.h>
00023 #include <matrix/vlVector.h>
00024 
00025 class DtSimManager;
00026 class DtSimMessage;
00027 class DtStringOutputPort;
00028 
00029 
00038 #include "vrfmodel/vrfmodelDefines.h"
00039 class DT_DLL_vrfmodel DtGroundFollowEntityController : public DtGroundMoveToDestinationControllerComponent
00040 {
00041 
00042 public:
00043 
00046    DtGroundFollowEntityController(const DtString& name, 
00047       DtVrfObject* owner,
00048       DtSimManager* simManager, 
00049       DtComponentDescriptor* desc = 0,
00050       DtReaderWriterRegistry* parentRegistry = 0);
00051 
00053    virtual ~DtGroundFollowEntityController();
00054 
00057    virtual DtString type() const;
00058 
00059 
00063    static void followEntityCallback(DtSimMessage* msg, void* usrData);
00064 
00065    virtual void processFollowEntityTask(DtSimMessage* msg);
00066 
00071    virtual const DtString& entityToFollow();
00072    virtual void setEntityToFollow(const DtString& entity);
00073 
00076    virtual const DtVector& offsetVector() const;
00077    virtual void setOffsetVector(const DtVector& offsets);
00078 
00082    static DtSimComponent * creator(const DtString& name, 
00083       DtVrfObject* owner,
00084       DtSimManager* simManager, 
00085       DtComponentDescriptor* desc = 0,
00086       DtReaderWriterRegistry* parentRegistry = 0);
00087 
00089    virtual void registerTaskMsgCallbacks();
00090 
00094    virtual bool setupDestination();
00095 
00098    virtual bool passedDestination();
00099 
00102    virtual double findDesiredSpeed();
00103 
00107    virtual double findDesiredHeading();
00108    
00119    virtual void setupDestinationVector() const;
00120 
00125    virtual DtAutoTransmissionGear determineGearSetting();
00126   
00130    virtual void stop();
00131 
00132 protected:
00135    DtGroundFollowEntityController();
00136 
00138    DtGroundFollowEntityController(const DtGroundFollowEntityController & 
00139       orig);
00140 
00142    const DtGroundFollowEntityController & operator=(const 
00143       DtGroundFollowEntityController & orig);
00144 
00145    bool createPorts();
00146 
00147 protected:
00148 
00150    DtVrfObject* myEntityPointer;
00151    DtStringOutputPort * myFollowEntityOutputPort;
00152 };
00153 
00154 #endif
00155 
00156 
00157 

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)