VR-Forces 4.0.4 Class Documentation
include/vrfmodel/surfEntFolwCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: surfEntFolwCtl.h,v $ $Revision: 1.21 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 
00016 #ifndef DtSurfEntFollowEntityController_H_
00017 #define DtSurfEntFollowEntityController_H_
00018 
00019 #include "vrfmodel/surfEntMvToCtl.h"
00020 
00021 class DtSimManager;
00022 class DtSimMessage;
00023 
00024 
00036 
00037 #include "vrfmodel/vrfmodelDefines.h"
00038 class DT_DLL_vrfmodel DtSurfaceEntityFollowEntityController : 
00039    public DtSurfaceEntityMoveToController
00040 {
00041 
00042 public:
00043 
00046    DtSurfaceEntityFollowEntityController(const DtString& name, 
00047       DtVrfObject* owner,
00048       DtSimManager* simManager, 
00049       DtComponentDescriptor* desc = 0,
00050       DtReaderWriterRegistry* parentRegistry = 0);
00051 
00055    virtual ~DtSurfaceEntityFollowEntityController();
00056 
00059    virtual DtString type() const;
00060 
00069    static void followEntityCallback(DtSimMessage* msg, void* usrData);
00070 
00077    virtual void processFollowEntityTask(DtSimMessage* msg);
00078 
00085    virtual const DtString& entityToFollow();
00087    virtual void setEntityToFollow(const DtString& entity);
00088 
00093    virtual const DtVector& offsetVector() const;
00094    virtual void setOffsetVector(const DtVector& offsets);
00096 
00100    virtual void registerTaskMsgCallbacks();
00101 
00108    virtual bool setupControlPoint();
00109 
00126    virtual void tick();
00127 
00136    virtual void matchFollowedEntity();
00137 
00140    virtual double findDesiredSpeed();
00141 
00144    virtual void setupGoalVector(const DtVector & goalPosition);
00145 
00148    virtual bool passedGoal();
00149 
00153    static DtSimComponent* creator(const DtString& name, 
00154       DtVrfObject* owner,
00155       DtSimManager* simManager, 
00156       DtComponentDescriptor* desc = 0,
00157       DtReaderWriterRegistry* parentRegistry = 0);
00158 
00167    virtual void doMoving (double desiredSpeed);
00168 
00169 protected:
00171    DtSurfaceEntityFollowEntityController();
00172 
00174    DtSurfaceEntityFollowEntityController(
00175       const DtSurfaceEntityFollowEntityController & orig);
00176 
00178    const DtSurfaceEntityFollowEntityController & operator=(
00179       const DtSurfaceEntityFollowEntityController & orig);
00180 
00181 protected:
00182 
00184    DtVrfObject* myEntityPointer;
00185 
00186 };
00187 #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)