Make sure relevant nodes list is being populated

This commit is contained in:
Emma Broman
2021-06-09 13:41:55 +02:00
parent 5f17e05dd1
commit e1ada5ab88
3 changed files with 10 additions and 3 deletions

View File

@@ -75,7 +75,12 @@ double AutoNavigationModule::minValidBoundingSphere() const {
return _minValidBoundingSphere;
}
const std::vector<SceneGraphNode*>& AutoNavigationModule::relevantNodes() const {
const std::vector<SceneGraphNode*>& AutoNavigationModule::relevantNodes() {
if (!_hasInitializedRelevantNodes) {
findRelevantNodes();
_hasInitializedRelevantNodes = true;
}
return _relevantNodes;
}

View File

@@ -41,7 +41,7 @@ public:
autonavigation::AutoNavigationHandler& AutoNavigationHandler();
double minValidBoundingSphere() const;
const std::vector<SceneGraphNode*>& relevantNodes() const;
const std::vector<SceneGraphNode*>& relevantNodes();
std::vector<documentation::Documentation> documentations() const override;
scripting::LuaLibrary luaLibrary() const override;
@@ -56,6 +56,7 @@ private:
properties::StringListProperty _relevantNodeTags;
std::vector<SceneGraphNode*> _relevantNodes;
bool _hasInitializedRelevantNodes = false;
};
} // namespace openspace

View File

@@ -208,7 +208,8 @@ void AvoidCollisionCurve::removeCollisions(int step) {
_points.insert(_points.begin() + i + 2, extraKnot);
removeCollisions(++step);
step++;
removeCollisions(step);
break;
}
}