Skip to content

Add Ruby interfaces to all classes #302

Open
@chapulina

Description

Desired behavior

We should complete our Ruby scripting support for all classes. Now that we have SWIG -based Python interfaces for all classes, it should be quick to migrate them to Ruby.

We should also add tests for all classes.

Alternatives considered

Abandoning Ruby in favor of Python?

Implementation suggestion

It should be quick to port the existing SWIG files to Ruby. Adding tests will take longer.

The files live here: https://github.com/ignitionrobotics/ign-math/tree/ign-math6/src/ruby

Here's the status:

    1. Angle
      AxisAlignedBox
      Box
      Color
      Cylinder
      DiffDriveOdometry
      Filter
      Frustum
      GaussMarkovProcess
      graph/Edge
      graph/GraphAlgorithms
      graph/Graph
      graph/Vertex
      Helpers
      Inertial
      Kmeans
      Line2
      Line3
      MassMatrix3
      Material
      MaterialType
      Matrix3
      Matrix4
      MovingWindowFilter
      OrientedBox
      PID
      Plane
      Pose3
      Quaternion
      Rand
      RollingMean
      RotationSpline
      SemanticVersion
      SignalStats
      Sphere
      SphericalCoordiantes
      Spline
      Stopwatch
      Temperature
      Triangle3
      Triangle
      Vector2
      Vector3
      Vector3Stats
      Vector4

Additional context

This was broken off #101.

Activity

removed this from Inbox in Core developmenton Dec 10, 2021
chapulina

chapulina commented on Dec 30, 2021

@chapulina
ContributorAuthor

We're moving all the SWIG files that we had working for Python to the Ruby directory in #354, but we're not enabling them.

Now the work on this issue should consist of:

  1. Adding each file to:

    https://github.com/ignitionrobotics/ign-math/blob/5fa6f7858a873448c9fa09be23dafc99f0f8863d/src/ruby/CMakeLists.txt#L16-L23

  2. Porting the existing test from C++ / Python to Ruby

  3. Making any necessary adjustments to the SWIG file

azeey

azeey commented on Feb 22, 2024

@azeey
Contributor

I would be in favor of abandoning Ruby in favor of Python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestscriptingScripting interfaces to Ignition

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Add Ruby interfaces to all classes · Issue #302 · gazebosim/gz-math