AStar get_closest_point/get_closest_position_in_segment enabled consideration
This commit is contained in:
parent
43a6969470
commit
dc9659a9bf
1 changed files with 6 additions and 0 deletions
|
@ -216,6 +216,8 @@ int AStar::get_closest_point(const Vector3 &p_point) const {
|
||||||
|
|
||||||
for (const Map<int, Point *>::Element *E = points.front(); E; E = E->next()) {
|
for (const Map<int, Point *>::Element *E = points.front(); E; E = E->next()) {
|
||||||
|
|
||||||
|
if (!E->get()->enabled)
|
||||||
|
continue; //Disabled points should not be considered
|
||||||
real_t d = p_point.distance_squared_to(E->get()->pos);
|
real_t d = p_point.distance_squared_to(E->get()->pos);
|
||||||
if (closest_id < 0 || d < closest_dist) {
|
if (closest_id < 0 || d < closest_dist) {
|
||||||
closest_dist = d;
|
closest_dist = d;
|
||||||
|
@ -234,6 +236,10 @@ Vector3 AStar::get_closest_position_in_segment(const Vector3 &p_point) const {
|
||||||
|
|
||||||
for (const Set<Segment>::Element *E = segments.front(); E; E = E->next()) {
|
for (const Set<Segment>::Element *E = segments.front(); E; E = E->next()) {
|
||||||
|
|
||||||
|
if (!(E->get().from_point->enabled && E->get().to_point->enabled)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
Vector3 segment[2] = {
|
Vector3 segment[2] = {
|
||||||
E->get().from_point->pos,
|
E->get().from_point->pos,
|
||||||
E->get().to_point->pos,
|
E->get().to_point->pos,
|
||||||
|
|
Loading…
Reference in a new issue