bool NGRandomNetBuilder::checkAngles(NGNode* node) { bool check = true; if (node->LinkList.size() > 1) { // loop over all links NGEdgeList::iterator li; NGNode* ni; for (li = node->LinkList.begin(); li != node->LinkList.end(); ++li) { // calc vector of currentnode if ((*li)->getStartNode() == node) { ni = (*li)->getEndNode(); } else { ni = (*li)->getStartNode(); } Position v1( ni->getPosition().x() - node->getPosition().x(), ni->getPosition().y() - node->getPosition().y()); // loop over all links NGEdgeList::iterator lj; for (lj = node->LinkList.begin(); lj != node->LinkList.end(); ++lj) { if (li != lj) { if ((*lj)->getStartNode() == node) { ni = (*lj)->getEndNode(); } else { ni = (*lj)->getStartNode(); } Position v2( ni->getPosition().x() - node->getPosition().x(), ni->getPosition().y() - node->getPosition().y()); if (fabs(GeomHelper::angle2D(v1, v2)) < myMinLinkAngle) { check = false; } } } } } return check; }