VR-Forces 4.0.4 Class Documentation
include/vrfmodel/msslMvToCntlr.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: msslMvToCntlr.h,v $ $Revision: 1.22 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 
00016 #ifndef DtMissileMoveToControllerComponent_H_
00017 #define DtMissileMoveToControllerComponent_H_
00018 
00019 
00020 #include "vrfmodel/missileCntlr.h"
00021 
00022 class DtString;
00023 class DtSimManager;
00024 class DtConstrainedAnalogPort;
00025 class boolPort;
00026 class DtVector;
00027 class DtSimMessage;
00028 
00029 
00038 #include "vrfmodel/vrfmodelDefines.h"
00039 class DT_DLL_vrfmodel DtMissileMoveToControllerComponent : public DtMissileControllerComponent
00040 {
00041 public:
00042 
00045    DtMissileMoveToControllerComponent(const DtString& name, 
00046       DtVrfObject* owner,
00047       DtSimManager* simManager, 
00048       DtComponentDescriptor* desc = 0,
00049       DtReaderWriterRegistry* parentRegistry = 0);
00050 
00052    virtual ~DtMissileMoveToControllerComponent();
00053 
00055    virtual void tick();
00056 
00059    virtual DtString type() const;
00060 
00061 
00064    virtual void setTargetPoint(const DtVector& targetPoint);
00065    virtual const DtVector& targetPoint() const;
00066 
00068    virtual void setTargetVelocity(const DtVector& arg);
00069    virtual const DtVector& targetVelocity() const;
00070 
00072    virtual void calculateSteering(const DtVector &relativeVelocity,
00073       const DtVector &localPosition,
00074       const DtVector &targetVelocity,
00075       const DtVector &targetPoint, 
00076       double& maneuverAccelXOut,
00077       double& maneuverAccelYOut,
00078       double& maneuverAccelZOut);
00079 
00083    static void targetPointCallback(DtSimMessage * msg, void * usr);
00084 
00087    virtual void processTargetPointTask(DtSimMessage * msg);
00088 
00092    static DtSimComponent * creator(const DtString& name, 
00093       DtVrfObject* owner,
00094       DtSimManager* simManager, 
00095       DtComponentDescriptor* desc = 0,
00096       DtReaderWriterRegistry* parentRegistry = 0);
00097 
00098 protected:
00101    DtMissileMoveToControllerComponent();
00102 
00104    DtMissileMoveToControllerComponent(
00105       const DtMissileMoveToControllerComponent& orig);
00106 
00108    const DtMissileMoveToControllerComponent& operator=(
00109       const DtMissileMoveToControllerComponent& orig);
00110 
00112    virtual void registerTaskMsgCallbacks();
00113 
00116    virtual bool setupControlPoint();
00117 
00119    virtual double findDesiredSpeed();
00120 
00126    virtual void doMoving();
00127 
00128 protected:
00129 
00132    double           myDesiredSpeed;
00133    double           myCurrentSpeed;
00134 
00135 };
00136 
00137 #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)