Skip to content
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

APIs that ease migration from classic #325

Closed
7 tasks done
chapulina opened this issue Sep 2, 2020 · 0 comments
Closed
7 tasks done

APIs that ease migration from classic #325

chapulina opened this issue Sep 2, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted We accept pull requests! migration Helps with migration from Gazebo classic to Ignition

Comments

@chapulina
Copy link
Contributor

chapulina commented Sep 2, 2020

Classes like ignition::gazebo::Model are meant to provide helpful wrappers around entities and components which are simpler to use. This is important for users that are not accustomed to C++. This should also ease migration from Gazebo-classic, because the APIs would be more similar.

Not all functions from Gazebo-classic make sense in the new paradigm though. For example, one could query time information like SimTime, RealTime, IsPaused from gazebo::physics::World, but on Ignition, these properties don't belong to the world entity and should be obtained from UpdateInfo instead.

Here's a preliminary list of some APIs that we could offer on Ignition to mimic Gazebo-classic. The underlying implementation would use calls like ecm.Component, ecm.EntityByComponents, etc.

  • We should create a class for each entity type: World, Model, Link, Joint, Light, Actor, Sensor, etc.
  • We should have accessors for most properties, such as name, pose...
  • Child entities should be accessible by name, such as World::LightByName()
  • Each class will also have accessors specific to that entity type. For example, World::Gravity(), World::MagneticField(), etc.
  • We should also add generic APIs that apply to many entity types to Util.hh

Status:

  • World
  • Model
  • Link
  • Joint
  • Light
  • Actor
  • Sensor
@chapulina chapulina added enhancement New feature or request migration Helps with migration from Gazebo classic to Ignition labels Sep 2, 2020
@chapulina chapulina self-assigned this Sep 10, 2020
@chapulina chapulina added the help wanted We accept pull requests! label Dec 23, 2020
@chapulina chapulina removed their assignment Dec 23, 2020
This was referenced Mar 1, 2023
@iche033 iche033 self-assigned this Mar 3, 2023
This was referenced Mar 3, 2023
@azeey azeey closed this as completed Jul 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted We accept pull requests! migration Helps with migration from Gazebo classic to Ignition
Projects
None yet
Development

No branches or pull requests

3 participants