VR-Forces 4.0.4 Class Documentation
include/vrfmodel/humanAcquireController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: humanAcquireController.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef humanAcquireController_h
00016 #define humanAcquireController_h
00017 
00018 #include "vrfobjcore/cntrlCmpnt.h"
00019 #include "vrfobjcore/entListIOPort.h"
00020 #include "vrfmodel/vrfmodelDefines.h"
00021 #include <vl/fireInter.h>
00022 
00023 class DtIntegerOutputPort;
00024 class DtVrfBalGunPSR;
00025 class DtSimMessage;
00026 class DtAnalogOutputPort;
00027 class DtIndividualLifeformAcquireDescriptor;
00028 
00032 class DT_DLL_vrfmodel DtHumanAcquireController :  public DtControllerComponent
00033 {
00034 
00035 public:
00036 
00039    DtHumanAcquireController(const DtString& name, 
00040       DtVrfObject* owner,
00041       DtSimManager* simManager, 
00042       DtComponentDescriptor* desc = 0,
00043       DtReaderWriterRegistry* parentRegistry = 0);
00044 
00046    virtual ~DtHumanAcquireController();
00047 
00048    virtual bool init();
00049 
00050    virtual bool createWeaponStatePort();
00051 
00052    virtual DtIntegerOutputPort *lifeformWeaponStatePort();
00053 
00054    virtual bool createTargetListPort();
00055 
00056    virtual bool createAimDirectionPort();
00057 
00060    virtual DtString type() const;
00061 
00062    virtual void tick();
00063 
00066    virtual bool haveTarget() const;
00067 
00073    virtual double findHeadingToCurrentTarget() const;
00074 
00077    virtual void selectATarget();
00078 
00079    virtual bool inSector(DtVrfObject* entity) const;
00080 
00081    virtual DtVrfObject* easier(DtVrfObject* entity1, DtVrfObject* entity2) const;
00082 
00085    virtual void setAcquire();
00086 
00090    virtual void getWeaponProcessSR();
00091 
00094    virtual DtVrfObject * chooseTarget(const DtEntityTargetList& targetList) const;
00095 
00099    virtual bool targetVisible(const DtVrfObject* targetObj, 
00100       const DtVector& localEyepoint) const;
00101 
00105    static DtSimComponent * creator(const DtString& name, 
00106       DtVrfObject* owner,
00107       DtSimManager* simManager, 
00108       DtComponentDescriptor* desc = 0,
00109       DtReaderWriterRegistry* parentRegistry = 0);
00110 
00111 protected:
00112 
00115    virtual bool haveAmmo() const;
00116 
00118    virtual bool createPorts();
00119 
00122    virtual bool postAddComponentsInit();
00123 
00124 protected:
00125    
00127    DtHumanAcquireController();
00128 
00130    DtHumanAcquireController(const 
00131       DtHumanAcquireController & orig);
00132 
00134    const DtHumanAcquireController & operator=(
00135       const DtHumanAcquireController & orig);
00136 
00137 
00138 protected:
00139 
00142    
00148    DtEntityListInputPort*     myTargetListPort;
00149 
00155    DtIntegerOutputPort*       myLifeformWeaponStatePort;
00156 
00163    DtAnalogOutputPort* myAimDirectionPort;
00164    
00166 
00167    DtEntityIdentifier         myObjectId;
00168    bool                       myAcquiring;
00169    double                     myTimeAiming; 
00170    DtVrfBalGunPSR*            myWeaponProcessState;
00171    const DtIndividualLifeformAcquireDescriptor* myAcquireDescriptor;
00172 };
00173 
00174 #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)