52 for (iter1 = list1.
begin(); iter1 != list1.
end(); ++iter1) {
53 if (&list1 == &list2) {
57 iter2 = list2.
begin();
60 if (iter2 == list2.
end()) {
63 if (*iter1 == *iter2) {
67 for (; iter2 != list2.
end(); ++iter2) {
68 Eigen::Vector3d u = (*iter1)->getPos();
69 Eigen::Vector3d v = (*iter2)->getPos();
const Topology & getTopology() const
typename std::vector< Bead * >::iterator iterator
bool IsExcluded(Bead *bead1, Bead *bead2) const
virtual void Generate(BeadList &list1, BeadList &list2, bool do_exclusions=true)
Generate the neighbour list based on two bead lists (e.g. bead types)
std::unique_ptr< Functor > match_function_
bool do_exclusions_
take into account exclusions from topolgoy
void setPairType()
function to use a user defined pair type
void SetMatchFunction(T *object, bool(T::*fkt)(Bead *, Bead *, const Eigen::Vector3d &, double dist))
match function for class member functions
static bool match_always(Bead *, Bead *, const Eigen::Vector3d &, double)
standard match function
pair_creator_t pair_creator_
the current bead pair creator function
void AddPair(BeadPair *p)
BeadPair * FindPair(Bead *e1, Bead *e2)
topology of the whole system
ExclusionList & getExclusions()
Eigen::Vector3d BCShortestConnection(const Eigen::Vector3d &r_i, const Eigen::Vector3d &r_j) const
calculate shortest vector connecting two points
base class for all analysis tools