This repository has been archived by the owner on Feb 3, 2025. It is now read-only.
Parse ode_quiet physics parameter from SDFormat #3194
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The ODE
world
-step solver has a tendency to spam the console withLCP Internal Error
messages (try loadingtest/worlds/world_step.world
with--verbose
to see for yourself). We added anode_quiet
parameter to theSetParam
andGetParam
APIs forODEPhysics
in bitbucket pull request 2512 (merged in dacd915), but at that time it was only accessible from the C++ API.I had thought that the
gazebo::physics::PresetManager
might be able to aid in parsing this parameter if it was added to a<physics>
block, but when I tried that in e7ce527, it gives an error message:I have now realized that this is because while
SetParam
tries to cast to abool
, libsdformat is treating its value as a string, which is the default behavior when parsing elements that are not part of the SDFormat spec. With this in mind, I've added logic in f75611d to try parsing theode_quiet
value as astring
if it fails to cast to abool
, and then use ansdf::Param
object to convert the string to abool
using code from libsdformat's Param_TEST.cc as an example.