Class DebugDraw

  • Direct Known Subclasses:
    DebugDrawJ2D

    public abstract class DebugDraw
    extends java.lang.Object
    Implement this abstract class to allow JBox2d to automatically draw your physics for debugging purposes. Not intended to replace your own custom rendering routines!
    • Method Detail

      • setFlags

        public void setFlags​(int flags)
      • getFlags

        public int getFlags()
      • appendFlags

        public void appendFlags​(int flags)
      • clearFlags

        public void clearFlags​(int flags)
      • drawPolygon

        public void drawPolygon​(Vec2[] vertices,
                                int vertexCount,
                                Color3f color)
        Draw a closed polygon provided in CCW order. This implementation uses drawSegment(Vec2, Vec2, Color3f) to draw each side of the polygon.
        Parameters:
        vertices -
        vertexCount -
        color -
      • drawPoint

        public abstract void drawPoint​(Vec2 argPoint,
                                       float argRadiusOnScreen,
                                       Color3f argColor)
      • drawSolidPolygon

        public abstract void drawSolidPolygon​(Vec2[] vertices,
                                              int vertexCount,
                                              Color3f color)
        Draw a solid closed polygon provided in CCW order.
        Parameters:
        vertices -
        vertexCount -
        color -
      • drawCircle

        public abstract void drawCircle​(Vec2 center,
                                        float radius,
                                        Color3f color)
        Draw a circle.
        Parameters:
        center -
        radius -
        color -
      • drawSolidCircle

        public abstract void drawSolidCircle​(Vec2 center,
                                             float radius,
                                             Vec2 axis,
                                             Color3f color)
        Draw a solid circle.
        Parameters:
        center -
        radius -
        axis -
        color -
      • drawSegment

        public abstract void drawSegment​(Vec2 p1,
                                         Vec2 p2,
                                         Color3f color)
        Draw a line segment.
        Parameters:
        p1 -
        p2 -
        color -
      • drawTransform

        public abstract void drawTransform​(Transform xf)
        Draw a transform. Choose your own length scale
        Parameters:
        xf -
      • drawString

        public abstract void drawString​(float x,
                                        float y,
                                        java.lang.String s,
                                        Color3f color)
        Draw a string.
        Parameters:
        x -
        y -
        s -
        color -
      • drawString

        public void drawString​(Vec2 pos,
                               java.lang.String s,
                               Color3f color)
      • getWorldToScreenToOut

        public void getWorldToScreenToOut​(float worldX,
                                          float worldY,
                                          Vec2 argScreen)
        Takes the world coordinates and puts the corresponding screen coordinates in argScreen.
        Parameters:
        worldX -
        worldY -
        argScreen -
      • getWorldToScreen

        public Vec2 getWorldToScreen​(Vec2 argWorld)
        takes the world coordinate (argWorld) and returns the screen coordinates.
        Parameters:
        argWorld -
      • getWorldToScreen

        public Vec2 getWorldToScreen​(float worldX,
                                     float worldY)
        Takes the world coordinates and returns the screen coordinates.
        Parameters:
        worldX -
        worldY -
      • getScreenToWorldToOut

        public void getScreenToWorldToOut​(float screenX,
                                          float screenY,
                                          Vec2 argWorld)
        takes the screen coordinates and puts the corresponding world coordinates in argWorld.
        Parameters:
        screenX -
        screenY -
        argWorld -
      • getScreenToWorld

        public Vec2 getScreenToWorld​(Vec2 argScreen)
        takes the screen coordinates (argScreen) and returns the world coordinates
        Parameters:
        argScreen -
      • getScreenToWorld

        public Vec2 getScreenToWorld​(float screenX,
                                     float screenY)
        takes the screen coordinates and returns the world coordinates.
        Parameters:
        screenX -
        screenY -