VR-Forces 4.0.4 Class Documentation
include/vrfmodel/targetRankOperator.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: targetRankOperator.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef targetRankOperator_H_
00016 #define targetRankOperator_H_
00017 
00018 class DtTargetSelectionCriteria;
00019 class DtVrfObject;
00020 class DtRwSensorContactInfo;
00021 
00028 #include "vrfmodel/vrfmodelDefines.h"
00029 class DT_DLL_vrfmodel DtTargetRankOperator
00030 {
00031 private:
00033    DtTargetRankOperator();
00035    DtTargetRankOperator(const DtTargetRankOperator& orig);
00037    DtTargetRankOperator& operator=(const DtTargetRankOperator& orig);
00038 
00039 public:
00040    DtTargetRankOperator(const DtTargetSelectionCriteria* criteria, const DtVrfObject* vrfObj);
00041    virtual ~DtTargetRankOperator();
00042 
00044    virtual bool operator()(const DtRwSensorContactInfo* contact1,
00045       const DtRwSensorContactInfo* contact2) const = 0;
00046 
00047 protected:
00048    const DtTargetSelectionCriteria* myTargetSelectionCriteria;
00049    const DtVrfObject* myVrfObject;
00050 };
00051 
00056 class DtTargetRankOperatorWrapper
00057 {
00058 private:
00060    DtTargetRankOperatorWrapper();
00061 public:
00064    DtTargetRankOperatorWrapper(DtTargetRankOperator* rankOp);
00066    DtTargetRankOperatorWrapper(const DtTargetRankOperatorWrapper& orig);
00068    DtTargetRankOperatorWrapper& operator=(const DtTargetRankOperatorWrapper& orig);
00069 
00071    bool operator()(const DtRwSensorContactInfo* contact1,
00072       const DtRwSensorContactInfo* contact2) const;
00073 
00074 protected:
00075    DtTargetRankOperator* myRankOperator;
00076 };
00077 
00082 class DtPrioritySorRangeTargetRankOperator : public DtTargetRankOperator
00083 {
00084 private:
00086    DtPrioritySorRangeTargetRankOperator();
00088    DtPrioritySorRangeTargetRankOperator(const DtPrioritySorRangeTargetRankOperator& orig);
00090    DtPrioritySorRangeTargetRankOperator& operator=(const DtPrioritySorRangeTargetRankOperator& orig);
00091 
00092 public:
00093    DtPrioritySorRangeTargetRankOperator(const DtTargetSelectionCriteria* criteria, const DtVrfObject* vrfObj);
00094    virtual ~DtPrioritySorRangeTargetRankOperator();
00095 
00097    virtual bool operator()(const DtRwSensorContactInfo* contact1,
00098       const DtRwSensorContactInfo* contact2) const;
00099 
00100 protected:
00103    virtual bool checkPriority(const DtVrfObject* obj1, const DtVrfObject* obj2, bool& result) const;
00104 
00107    virtual bool checkSectorOfResponsibility(const DtVrfObject* obj1, const DtVrfObject* obj2, bool& result) const;
00108 
00111    virtual bool checkRange(const DtVrfObject* obj1, const DtVrfObject* obj2, bool& result) const;
00112 };
00113 
00114 #endif
00115 

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)