VR-Forces 4.0.4 Class Documentation
include/vrfmodel/msslTrkEntCtl.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: msslTrkEntCtl.h,v $ $Revision: 1.21 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 
00016 #ifndef DtMissileTrackEntityController_H_
00017 #define DtMissileTrackEntityController_H_
00018 
00019 
00020 #include "vrfmodel/msslMvToCntlr.h"
00021 
00022 #include <vlutil/vlString.h>
00023 #include <matrix/vlVector.h>
00024 #include "vrfobjcore/missileFlightPSR.h"
00025 
00026 class DtSimManager;
00027 class DtSimMessage;
00028 
00029 
00039 #include "vrfmodel/vrfmodelDefines.h"
00040 class DT_DLL_vrfmodel DtMissileTrackEntityController : public DtMissileMoveToControllerComponent
00041 {
00042 
00043 public:
00044 
00047    DtMissileTrackEntityController(const DtString& name, 
00048       DtVrfObject* owner,
00049       DtSimManager* simManager, 
00050       DtComponentDescriptor* desc = 0,
00051       DtReaderWriterRegistry* parentRegistry = 0);
00052 
00054    virtual ~DtMissileTrackEntityController();
00055 
00058    virtual DtString type() const;
00059 
00062    virtual void setTargetEntity(const DtString& entity);
00063    virtual const DtString& targetEntity() const;
00064 
00067    virtual DtMissileLaunchPhase launchPhase() const;
00068    virtual void setLaunchPhase(DtMissileLaunchPhase phase);
00069 
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 targetEntityCallback(DtSimMessage * msg, void * usr);
00084 
00087    virtual void processTargetEntityTask(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    DtMissileTrackEntityController();
00102 
00104    DtMissileTrackEntityController(const DtMissileTrackEntityController & 
00105       orig);
00106 
00108    const DtMissileTrackEntityController & operator=(const 
00109       DtMissileTrackEntityController & orig);
00110 
00113    virtual void registerTaskMsgCallbacks();
00114 
00123    virtual bool setupControlPoint();
00124 
00126    virtual double findDesiredSpeed();
00127 
00128 protected:
00129 
00131    DtVrfObject* myEntityPointer;
00132 };
00133 
00134 #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)