![]() |
VR-Forces 4.0.4 Class Documentation
|
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