org.jbox2d.callbacks
Class DebugDraw

java.lang.Object
  extended by org.jbox2d.callbacks.DebugDraw

public abstract class DebugDraw
extends 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!

Author:
Daniel Murphy

Field Summary
static int e_aabbBit
           
static int e_centerOfMassBit
           
static int e_dynamicTreeBit
           
static int e_jointBit
           
static int e_pairBit
           
static int e_shapeBit
           
protected  int m_drawFlags
           
protected  IViewportTransform viewportTransform
           
 
Constructor Summary
DebugDraw(IViewportTransform viewport)
           
 
Method Summary
 void appendFlags(int flags)
           
 void clearFlags(int flags)
           
abstract  void drawCircle(Vec2 center, float radius, Color3f color)
          Draw a circle.
abstract  void drawPoint(Vec2 argPoint, float argRadiusOnScreen, Color3f argColor)
           
 void drawPolygon(Vec2[] vertices, int vertexCount, Color3f color)
          Draw a closed polygon provided in CCW order.
abstract  void drawSegment(Vec2 p1, Vec2 p2, Color3f color)
          Draw a line segment.
abstract  void drawSolidCircle(Vec2 center, float radius, Vec2 axis, Color3f color)
          Draw a solid circle.
abstract  void drawSolidPolygon(Vec2[] vertices, int vertexCount, Color3f color)
          Draw a solid closed polygon provided in CCW order.
abstract  void drawString(float x, float y, String s, Color3f color)
          Draw a string.
 void drawString(Vec2 pos, String s, Color3f color)
           
abstract  void drawTransform(Transform xf)
          Draw a transform.
 int getFlags()
           
 Vec2 getScreenToWorld(float screenX, float screenY)
          takes the screen coordinates and returns the world coordinates.
 Vec2 getScreenToWorld(Vec2 argScreen)
          takes the screen coordinates (argScreen) and returns the world coordinates
 void getScreenToWorldToOut(float screenX, float screenY, Vec2 argWorld)
          takes the screen coordinates and puts the corresponding world coordinates in argWorld.
 void getScreenToWorldToOut(Vec2 argScreen, Vec2 argWorld)
           
 IViewportTransform getViewportTranform()
           
 Vec2 getWorldToScreen(float worldX, float worldY)
          Takes the world coordinates and returns the screen coordinates.
 Vec2 getWorldToScreen(Vec2 argWorld)
          takes the world coordinate (argWorld) and returns the screen coordinates.
 void getWorldToScreenToOut(float worldX, float worldY, Vec2 argScreen)
          Takes the world coordinates and puts the corresponding screen coordinates in argScreen.
 void getWorldToScreenToOut(Vec2 argWorld, Vec2 argScreen)
           
 void setCamera(float x, float y, float scale)
           
 void setFlags(int flags)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

e_shapeBit

public static final int e_shapeBit
See Also:
Constant Field Values

e_jointBit

public static final int e_jointBit
See Also:
Constant Field Values

e_aabbBit

public static final int e_aabbBit
See Also:
Constant Field Values

e_pairBit

public static final int e_pairBit
See Also:
Constant Field Values

e_centerOfMassBit

public static final int e_centerOfMassBit
See Also:
Constant Field Values

e_dynamicTreeBit

public static final int e_dynamicTreeBit
See Also:
Constant Field Values

m_drawFlags

protected int m_drawFlags

viewportTransform

protected final IViewportTransform viewportTransform
Constructor Detail

DebugDraw

public DebugDraw(IViewportTransform viewport)
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,
                                String s,
                                Color3f color)
Draw a string.

Parameters:
x -
y -
s -
color -

drawString

public void drawString(Vec2 pos,
                       String s,
                       Color3f color)

getViewportTranform

public IViewportTransform getViewportTranform()

setCamera

public void setCamera(float x,
                      float y,
                      float scale)
Parameters:
x -
y -
scale -
See Also:
IViewportTransform.setCamera(float, float, float)

getScreenToWorldToOut

public void getScreenToWorldToOut(Vec2 argScreen,
                                  Vec2 argWorld)
Parameters:
argScreen -
argWorld -
See Also:
IViewportTransform.getScreenToWorld(org.jbox2d.common.Vec2, org.jbox2d.common.Vec2)

getWorldToScreenToOut

public void getWorldToScreenToOut(Vec2 argWorld,
                                  Vec2 argScreen)
Parameters:
argWorld -
argScreen -
See Also:
IViewportTransform.getWorldToScreen(org.jbox2d.common.Vec2, org.jbox2d.common.Vec2)

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 -


Copyright © 2013. All Rights Reserved.