#include <Neighbours.h>
Public Member Functions | |
Neighbours (ObjectProducer *prod, ActiveList *activeList, ObjectPairConsumer *pairCons, ObjectConsumer *uCons, double maxD) | |
virtual | ~Neighbours () |
virtual String const & | getName () const |
virtual void | getReady () |
virtual void | finished () |
virtual void | doFilter () |
virtual Object const * | nextActiveObject () |
virtual Object const * | nextTestObject () |
virtual double | getLowerBound (Object const *testObject) |
virtual double | getUpperBound (Object const *testObject) |
virtual void | addActiveObject (Object const *activeObject) |
virtual void | reportActiveNoMatch (Object const *activeObject) |
virtual void | reportTestNoMatch (Object const *testObject) |
virtual bool | test (Object const *activeObject, Object const *testObject) |
virtual void | test (Object const *testObject) |
virtual void | flushActiveObjects (double lowerBound) |
virtual void | flushActiveObjects (Object const *activeObject) |
Static Public Member Functions | |
static String const & | name () |
Private Member Functions | |
Neighbours () | |
Neighbours (Neighbours const &) | |
Neighbours & | operator= (Neighbours const &) |
Private Attributes | |
ObjectProducer * | producer |
ObjectConsumer * | uConsumer |
ActiveList * | activeList |
ActiveObject * | testActive |
Object const * | testObj |
bool | testMatchedPreviously |
Object const * | currentObj |
double | maxDistance |
int | cnt |
Static Private Attributes | |
static String const | s_name |
Definition at line 38 of file Neighbours.h.
Neighbours::Neighbours | ( | ObjectProducer * | prod, | |
ActiveList * | activeList, | |||
ObjectPairConsumer * | pairCons, | |||
ObjectConsumer * | uCons, | |||
double | maxD | |||
) |
Definition at line 23 of file Neighbours.cpp.
Neighbours::~Neighbours | ( | ) | [virtual] |
Definition at line 40 of file Neighbours.cpp.
References activeList, and producer.
Neighbours::Neighbours | ( | ) | [private] |
Neighbours::Neighbours | ( | Neighbours const & | ) | [private] |
void Neighbours::addActiveObject | ( | Object const * | activeObject | ) | [virtual] |
Implements Matcher.
Definition at line 129 of file Neighbours.cpp.
References activeList, ActiveList::pushBack(), and testObj.
Referenced by flushActiveObjects().
void Neighbours::doFilter | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 66 of file Neighbours.cpp.
References activeList, ActiveList::clear(), ActiveList::deletePriorObjects(), getLowerBound(), maxDistance, Matcher::nextObject(), Matcher::pairCons, producer, ActiveList::pushBack(), ActiveList::testObject(), and uConsumer.
void Neighbours::finished | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 57 of file Neighbours.cpp.
References ObjectConsumer::finished(), and uConsumer.
void Neighbours::flushActiveObjects | ( | Object const * | activeObject | ) | [virtual] |
Implements Matcher.
Definition at line 189 of file Neighbours.cpp.
References activeList, addActiveObject(), ActiveObject::getObject(), ActiveList::isEmpty(), ActiveObject::isMatched(), maxDistance, Matcher::pairCons, ActiveList::popFront(), ObjectConsumer::report(), testObj, ActiveList::testObject(), and uConsumer.
void Neighbours::flushActiveObjects | ( | double | lowerBound | ) | [virtual] |
Implements Matcher.
Definition at line 184 of file Neighbours.cpp.
double Neighbours::getLowerBound | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Definition at line 119 of file Neighbours.cpp.
References Object::getDec(), and maxDistance.
Referenced by doFilter().
virtual String const& Neighbours::getName | ( | ) | const [inline, virtual] |
void Neighbours::getReady | ( | ) | [virtual] |
Reimplemented from Matcher.
Definition at line 46 of file Neighbours.cpp.
References activeList, Matcher::profiler, and ActiveList::setProfiler().
double Neighbours::getUpperBound | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Definition at line 124 of file Neighbours.cpp.
References Object::getDec(), and maxDistance.
static String const& Neighbours::name | ( | ) | [inline, static] |
Object const * Neighbours::nextActiveObject | ( | ) | [virtual] |
Implements Matcher.
Definition at line 85 of file Neighbours.cpp.
References currentObj, Matcher::nextObject(), and producer.
Object const * Neighbours::nextTestObject | ( | ) | [virtual] |
Implements Matcher.
Definition at line 94 of file Neighbours.cpp.
References activeList, currentObj, ActiveObject::getObject(), ActiveList::isEmpty(), ActiveObject::isMatched(), Matcher::nextObject(), ActiveList::popFront(), producer, testActive, testMatchedPreviously, and testObj.
Neighbours& Neighbours::operator= | ( | Neighbours const & | ) | [private] |
void Neighbours::reportActiveNoMatch | ( | Object const * | activeObject | ) | [virtual] |
Implements Matcher.
Definition at line 138 of file Neighbours.cpp.
References currentObj, ObjectConsumer::report(), and uConsumer.
void Neighbours::reportTestNoMatch | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Definition at line 153 of file Neighbours.cpp.
References ObjectConsumer::report(), and uConsumer.
void Neighbours::test | ( | Object const * | testObject | ) | [virtual] |
Implements Matcher.
Definition at line 165 of file Neighbours.cpp.
References activeList, maxDistance, Matcher::pairCons, ObjectConsumer::report(), testActive, testMatchedPreviously, ActiveList::testObject(), and uConsumer.
Reimplemented from Matcher.
Definition at line 158 of file Neighbours.cpp.
ActiveList* Neighbours::activeList [private] |
Definition at line 78 of file Neighbours.h.
Referenced by addActiveObject(), doFilter(), flushActiveObjects(), getReady(), nextTestObject(), test(), and ~Neighbours().
int Neighbours::cnt [private] |
Definition at line 84 of file Neighbours.h.
Object const* Neighbours::currentObj [private] |
Definition at line 82 of file Neighbours.h.
Referenced by nextActiveObject(), nextTestObject(), and reportActiveNoMatch().
double Neighbours::maxDistance [private] |
Definition at line 83 of file Neighbours.h.
Referenced by doFilter(), flushActiveObjects(), getLowerBound(), getUpperBound(), and test().
ObjectProducer* Neighbours::producer [private] |
Definition at line 76 of file Neighbours.h.
Referenced by doFilter(), nextActiveObject(), nextTestObject(), and ~Neighbours().
String const Neighbours::s_name [static, private] |
Definition at line 74 of file Neighbours.h.
Referenced by name().
ActiveObject* Neighbours::testActive [private] |
Definition at line 79 of file Neighbours.h.
Referenced by nextTestObject(), and test().
bool Neighbours::testMatchedPreviously [private] |
Definition at line 81 of file Neighbours.h.
Referenced by nextTestObject(), and test().
Object const* Neighbours::testObj [private] |
Definition at line 80 of file Neighbours.h.
Referenced by addActiveObject(), flushActiveObjects(), and nextTestObject().
ObjectConsumer* Neighbours::uConsumer [private] |
Definition at line 77 of file Neighbours.h.
Referenced by doFilter(), finished(), flushActiveObjects(), reportActiveNoMatch(), reportTestNoMatch(), and test().