Class SceneStructureMetric.Rigid

Enclosing class:

public static class SceneStructureMetric.Rigid extends Object
A set of connected points that form a rigid structure. The 3D location of points in the rigid body's reference frame is constant.
  • Field Details

    • known

      public boolean known
      If the parameters are assumed to be known and should not be optimised.
    • object_to_world

      public final Se3_F64 object_to_world
      Transform from world into the rigid object's frame
    • points

      public SceneStructureCommon.Point[] points
      Location of points in object's reference frame. The coordinate is always fixed.
    • indexFirst

      public int indexFirst
      Index of the first point in the list
  • Constructor Details

    • Rigid

      public Rigid()
  • Method Details

    • init

      public void init(int numPoints, int dof)
      Resets and initialzies internal data structures. If possible previously declared data is reused
      numPoints - Number of points in the rigid body
      dof - DOF in each point
    • connectPointToView

      @Deprecated public void connectPointToView(int pointIdx, int viewIdx)
      Indicates that this point has been observed in this view and performs sanity checks.
    • connectPointToView

      public void connectPointToView(int pointIdx, int viewIdx, float pixX, float pixY, SceneObservations sceneObs)
      Connects the point to the view and adds the pixel observations. These steps can be easy to mess up, so it's recommended that you use this function.

      NOTE: Make sure you call SceneStructureMetric.assignIDsToRigidPoints() before calling this function.

      pointIdx - Index of the feature on the rigid object
      viewIdx - Which view this observation is from
      pixX - The pixel-x observation
      pixY - The pixel-y observation
      sceneObs - Data structure storing the observations
    • setPoint

      public void setPoint(int which, double x, double y, double z)
    • setPoint

      public void setPoint(int which, double x, double y, double z, double w)
    • getPoint

      public void getPoint(int which, Point3D_F64 p)
    • getPoint

      public void getPoint(int which, Point4D_F64 p)
    • getTotalPoints

      public int getTotalPoints()
    • isIdentical

      public boolean isIdentical(SceneStructureMetric.Rigid m, double tol)