-
Notifications
You must be signed in to change notification settings - Fork 432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[breaking] - NavMeshSettings refactor #2111
Conversation
…recompute on reconfigure to C++. Remove automatic application of agent height and radius settings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I left some minor remarks.
#include <string> | ||
|
||
#include "esp/core/Esp.h" | ||
#include "esp/nav/PathFinder.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably be forward-declared as this class is widely used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I thought so too. However, the compiler does not like the forward declaration here, so I needed the full the include.
Motivation and Context
Several recent needs have exposed the brittleness of current NavMesh defaults for Simulator reconfiguration. This PR aims to provide much more flexibility in configuration and reduce unnecessary compute while remaining simple for default use-cases.
This is a breaking change.
Currently, when a Simulator is initialized, the default agent radius and height are used to trigger a re-compute of the NavMesh if any other settings are modified. This cannot be turned off and other settings cannot be modified without explicitly recomputing again after instantiation which can be costly in aggregate and occasionally block use-ability altogether (e.g. if some property of the stage causes navmesh computation to fail).
After this change:
Habitat-lab will need to be updated to use the new API. facebookresearch/habitat-lab#1351
Should cover the needs of #2104.
How Has This Been Tested
Updated tests should cover this.
I did additional local testing with python viewer to double check.
Types of changes
Checklist