VR-Forces 4.0.4 Class Documentation
include/vrfmodel/surfEntMvAlg.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: surfEntMvAlg.h,v $ $Revision: 1.25 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtSurfEntMoveAlongControllerComponent_H_
00016 #define DtSurfEntMoveAlongControllerComponent_H_
00017 
00018 #include "vrfmodel/surfEntMvToCtl.h"
00019 #include "vrfutil/lclVecIter.h"
00020 
00021 class DtString;
00022 class DtSimManager;
00023 class DtRouteState;
00024 class DtSimMessage;
00025 
00026 
00049 #include "vrfmodel/vrfmodelDefines.h"
00050 class DT_DLL_vrfmodel DtSurfaceEntityMoveAlongController : 
00051    public DtSurfaceEntityMoveToController
00052 {
00053 
00054 public:
00055 
00058    DtSurfaceEntityMoveAlongController(const DtString& name, 
00059       DtVrfObject* owner,
00060       DtSimManager* simManager, 
00061       DtComponentDescriptor* desc = 0,
00062       DtReaderWriterRegistry* parentRegistry = 0);
00063 
00068    virtual ~DtSurfaceEntityMoveAlongController();
00069 
00071    virtual bool init();
00072 
00075    virtual DtString type() const;
00076 
00084    static void moveAlongCallback(DtSimMessage* msg, void* usr);
00085 
00094    virtual void processMoveAlongTask(DtSimMessage * msg);
00095 
00100    static void routeChangedCallback(DtVrfObject* obj, void* user);
00108    virtual void processRouteChanged(DtVrfObject* obj);
00109 
00118    virtual bool atGoal();
00119 
00128    virtual bool passedGoal();
00129 
00133    virtual void doMoving(double desiredSpeed);
00134 
00142    virtual bool targetNextVertex();
00143 
00147    static DtSimComponent * creator(const DtString& name, 
00148       DtVrfObject* owner,
00149       DtSimManager* simManager, 
00150       DtComponentDescriptor* desc = 0,
00151       DtReaderWriterRegistry* parentRegistry = 0);
00152 
00153 protected:
00155    DtSurfaceEntityMoveAlongController();
00156 
00158    DtSurfaceEntityMoveAlongController
00159       (const DtSurfaceEntityMoveAlongController& orig);
00160 
00162    const DtSurfaceEntityMoveAlongController& operator=
00163       (const DtSurfaceEntityMoveAlongController& orig);
00164 
00165 
00175    virtual bool setupRoute();
00176 
00184    virtual bool setupControlPoint();
00185 
00189    virtual void registerTaskMsgCallbacks();
00190 
00193    virtual void emptyVertexList();
00194 
00195 protected:
00198    DtVrfObject*         myRoute;
00199 
00202    bool            myRouteHasChanged;
00203 };
00204 
00205 #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)