std::vector<RRTNode *> nvs;
std::vector<RRTNode *> newly_added;
bool en_add = true;
+ int cusps = 0;
for (auto ns: this->steer(nn, rs)) {
if (!en_add) {
delete ns;
+ } else if (IS_NEAR(pn, ns)) {
+ delete ns;
+ } else if (cusps > 0) {
+ en_add = false;
} else {
+ if (sgn(pn->s()) != sgn(ns->s()))
+ cusps++;
#if NVVERSION>1
nvs = this->nv(
this->iy_,
for (auto na: newly_added) {
pn = na;
en_add = true;
+ cusps = 0;
for (auto ns: this->steer(na, this->goal())) {
if (!en_add) {
delete ns;
+ } else if (IS_NEAR(pn, ns)) {
+ delete ns;
+ } else if (cusps > 0) {
+ en_add = false;
} else {
+ if (sgn(pn->s()) != sgn(ns->s()))
+ cusps++;
this->nodes().push_back(ns);
this->add_iy(ns);
pn->add_child(ns, this->cost(pn, ns));