-
Notifications
You must be signed in to change notification settings - Fork 51
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
Add Arrow and Axis markers #493
Labels
enhancement
New feature or request
Comments
3 tasks
That work is on these branches, but only the first geometry is being shown right now 😕 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The creation of arrow and axis visuals has been supported since #87. But these shapes can't be used as markers yet:
https:/ignitionrobotics/ign-rendering/blob/04a50f8a88653c25a0824aa1277e5b8b0e17d704/include/ignition/rendering/Marker.hh#L35-L72
Desired behavior
I'd like to create markers shaped like arrows and axes.
Alternatives considered
Creating axis and arrow visuals instead of markers. I think the main functionality we miss is lifetime:
https:/ignitionrobotics/ign-rendering/blob/04a50f8a88653c25a0824aa1277e5b8b0e17d704/include/ignition/rendering/Marker.hh#L85-L88
Another option would be for downstream applications to create separate markers for each piece of these more complex markers (i.e. cylinders and cones).
Implementation suggestion
What sets axis and arrow apart from the other geometries and renderables being used as markers is that they're
CompositeVisual
s and have multiple geometries inside them. That's complicated becauseMarker
derives fromGeometry
, and there are multiple places in the code that assume that geometries have only one "object" (i.e. oneOgreObject
).In hindsight, I wish we had made
Marker
derive fromVisual
instead, so it could hold many geometries.I explored the idea of making a marker hold many geometries, but that breaks many assumptions. In particular, we'd need to also allow
Ogre*Geometry
to hold manyOgreObject
s. At that point, we're basically treating geometries as visuals.Another idea is creating axis and arrow meshes that are glued together, so they can be used as primitives. The disadvantage would be losing control over materials / scale for each piece.
The last thing I can think of is creating a "composite marker" which can hold many markers... Or can hold visuals...
Additional context
There's already axis and arrow support on the marker message, see gazebosim/gz-msgs#62
The text was updated successfully, but these errors were encountered: