VR-Forces 4.0.4 Class Documentation
include/vrfmodel/humanLauncherAcqrCtlr.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: humanLauncherAcqrCtlr.h,v $ $Revision: 1.4 $ $State: Exp $
00007 ** Created:1/30/07 MEM
00008 *******************************************************************************/
00009 
00012 
00016 
00017 #ifndef DtHumanLauncherAcquireController_H_
00018 #define DtHumanLauncherAcquireController_H_
00019 
00020 #include "vrfmodel/humanAcquireController.h"
00021 
00022 class DtIndLifeformLauncherAcquireDescriptor;
00023 class DtVrfObject;
00024 class DtTargetAcquireCriteria;
00025 
00028 
00037 #include "vrfmodel/vrfmodelDefines.h"
00038 class DT_DLL_vrfmodel DtHumanLauncherAcquireController :  public DtHumanAcquireController
00039 {
00040 
00041 public:
00042 
00045    DtHumanLauncherAcquireController(const DtString& name, 
00046       DtVrfObject* owner,
00047       DtSimManager* simManager, 
00048       DtComponentDescriptor* desc = 0,
00049       DtReaderWriterRegistry* parentRegistry = 0);
00050 
00052    virtual ~DtHumanLauncherAcquireController();
00053 
00054    virtual bool init();
00055 
00058    virtual DtString type() const;
00059 
00062    virtual void selectATarget();
00063 
00064    virtual DtVrfObject* easier(DtVrfObject* entity1, DtVrfObject* entity2) const;
00065 
00069    virtual DtVrfObject * chooseTarget(const DtEntityTargetList& targetList) const;
00070 
00075    virtual bool targetIsAcquirable(const DtVrfObject* targetObj, 
00076       const DtVector& localEyepoint) const;
00077 
00080    virtual bool checkSpeedForAcquire(DtTargetAcquireCriteria * crit, const DtVrfObject * target) const;
00081 
00084    virtual bool checkElevationForAcquire(DtTargetAcquireCriteria * crit, const DtVrfObject * target) const;
00085 
00089    virtual bool checkElevAngleForAcquire(DtTargetAcquireCriteria * crit, const DtVrfObject * target) const;
00090 
00094    static DtSimComponent * creator(const DtString& name, 
00095       DtVrfObject* owner,
00096       DtSimManager* simManager, 
00097       DtComponentDescriptor* desc = 0,
00098       DtReaderWriterRegistry* parentRegistry = 0);
00099 
00100 
00101 protected:
00102 
00104    DtTargetAcquireCriteria * findAcquireCriteria(const DtEntityType & entityType) const;
00105    
00107    DtHumanLauncherAcquireController();
00108 
00110    DtHumanLauncherAcquireController(const 
00111       DtHumanLauncherAcquireController & orig);
00112 
00114    const DtHumanLauncherAcquireController & operator=(
00115       const DtHumanLauncherAcquireController & orig);
00116 
00117 
00118 protected:
00119 
00120    const DtIndLifeformLauncherAcquireDescriptor* myLauncherAcquireDescriptor;
00121 
00122 protected:
00123 
00126    
00127    mutable std::set<DtString> myActiveTooFastTargets;
00128    mutable std::set<DtString> myActiveTooHighTargets;
00129    mutable std::set<DtString> myActiveTooSteepAngleTargets;
00130 
00131 };
00132 
00133 #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)