VR-Forces 4.0.4 Class Documentation
include/vrfmodel/missileDistractionController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: missileDistractionController.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ** Created: 5/31/11 MEM
00008 *******************************************************************************/
00009 
00013 
00016 
00017 #pragma once
00018 
00019 #include "vrfobjcore/cntrlCmpnt.h"
00020 #include "vrfobjcore/filteredObjList.h"
00021 #include "vrfmodel/vrfmodelDefines.h"
00022 
00023 class DtMissileDistractionControllerDescriptor;
00024 class DtCounterMeasureDistractionEntry;
00025 class DtMissileDistractionPSR;
00026 class DtMissileStateRepository;
00027 class DtSpatialFilterEvaluator;
00028 class DtCompositePredicate;
00029 class DtObjectType;
00030 
00031 
00046 class DT_DLL_vrfmodel DtMissileDistractionController : public DtControllerComponent
00047 {
00048 private:
00050    DtMissileDistractionController();
00051 
00053    DtMissileDistractionController(const DtMissileDistractionController & 
00054       orig);
00055 
00057    const DtMissileDistractionController & operator=(const 
00058       DtMissileDistractionController & orig);
00059 
00060 public:
00061 
00064    DtMissileDistractionController(const DtString& name, 
00065       DtVrfObject* owner,
00066       DtSimManager* simManager, 
00067       DtComponentDescriptor* desc = 0,
00068       DtReaderWriterRegistry* parentRegistry = 0);
00069 
00071    virtual ~DtMissileDistractionController();
00072 
00076    virtual bool init();
00077 
00080    virtual DtString type() const;
00081 
00086    virtual void tick();
00087 
00091    static DtSimComponent * creator(const DtString& name, 
00092       DtVrfObject* owner,
00093       DtSimManager* simManager, 
00094       DtComponentDescriptor* desc = 0,
00095       DtReaderWriterRegistry* parentRegistry = 0);
00096 
00097 protected:
00098 
00104    virtual DtMissileDistractionPSR* createPSR();
00105 
00109    virtual const char* defaultPSRType() const;
00110 
00114    virtual bool initTargetConeGeometry();
00115 
00119    virtual void setupGeometryForDetection();
00120 
00124    virtual void setUpDistractingObjectsList();
00125 
00128    virtual DtVector localTargetConePosition() const;
00129 
00140    virtual bool processObjects();
00141 
00148    virtual bool detectObject(DtVrfObject* object,DtCounterMeasureDistractionEntry * entry);
00149 
00152    virtual bool objectWithinTargetConeGeometry(DtVrfObject* object) const;
00153 
00154    virtual bool isMissileDistracted(DtCounterMeasureDistractionEntry * entry) const;
00155 
00156 protected:
00157 
00158    DtManagedObjectListConstPtr myDistractingObjectList;
00159    const DtMissileDistractionControllerDescriptor* myMissileDistractionControllerDescriptor;
00160 
00163    DtMissileDistractionPSR*   myProcessState;
00164    DtMissileStateRepository * myLocalSR;
00165 
00166    DtSpatialFilterEvaluator*  myTargetConeGeometryEvaluator;
00167    DtVector                   myTargetConeApex;
00168 };
00169 

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)