Rethink shape_msgs/SolidPrimitive.msg
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 393
- Forks
- 157
- PR merge metrics
- No merged PRs in 30d
Description
The current version of SolidPrimitive.msg looks like: https://github.com/ros2/common_interfaces/blob/b7e2ad503e1648468b1dc766c43aac12cc9aee5a/shape_msgs/msg/SolidPrimitive.msg .
If you look closely at that message, though, it has two problems:
- The messages share very little infrastructure with each other.
- We don't provide the facility to generate a shape with holes in it.
The first problem suggests that we should actually have 5 different messages: SolidBox.msg, SolidSphere.msg, SolidCylinder.msg, SolidCone.msg, and SolidPrism.msg . That would make these messages a lot more semantically defined, rather than artificially stuffing them into the same message.
The second problem is debatable about whether we want to support it. Gazebo, for instance, supports something called "poly lines" which are shapes with holes in them. An Example of this is in https://classic.gazebosim.org/tutorials?tut=extrude_svg&cat=model_editor_top#CreateaGazeboModel . Whether those shapes could be considered "primitive" is an open question, but one we should consider allowing. If we did allow this, we would need to think through the implications of this and how we present it to the user.
@tfoote @chapulina FYI.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading shape_msgs/msg/SolidPrimitive.msg and the linked Gazebo poly-lines example. Work through whether the proposed SolidBox.msg, SolidSphere.msg, SolidCylinder.msg, SolidCone.msg, and SolidPrism.msg split is appropriate, and whether shapes with holes belong in these interfaces. Done means the open design questions have a decided interface direction.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100