00001 /* 00002 * Copyright (c) 2004 CSIRO ICT Centre 00003 * 00004 * $Id: WithinDistanceRefine.h 587 2004-12-03 15:06:33Z nch $ 00005 */ 00006 00007 /* 00008 * WithinDistanceRefine is a Refine that accepts those candidate pairs 00009 * whose great circle distance are within the match distance specified. 00010 */ 00011 00012 #ifndef WITHINDISTANCEREFINE_DEFINED 00013 #define WITHINDISTANCEREFINE_DEFINED 00014 00015 #include "String.h" 00016 00017 #include "Object.h" 00018 #include "Refine.h" 00019 00020 class ObjectPairConsumer; 00021 00022 00023 class WithinDistanceRefine : public Refine 00024 { 00025 public: 00026 WithinDistanceRefine(double maxDistance, 00027 ObjectPairConsumer * mPPCons, 00028 ObjectPairConsumer * uPPCons); 00029 ~WithinDistanceRefine(); 00030 virtual String const & getName() const { return name(); }; 00031 virtual bool refine(Object const * red, Object const * blue); 00032 00033 static String const & name() { return s_name; }; 00034 00035 private: 00036 static String s_name; 00037 00038 double maxDistance; 00039 00040 WithinDistanceRefine(); 00041 WithinDistanceRefine(WithinDistanceRefine const &); 00042 WithinDistanceRefine & operator=(WithinDistanceRefine const &); 00043 }; 00044 00045 #endif // ifndef WITHINDISTANCEREFINE_DEFINED 00046