Package org.jbox2d.callbacks
Class DebugDraw
- java.lang.Object
-
- org.jbox2d.callbacks.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!
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description DebugDraw(IViewportTransform viewport)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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, java.lang.String s, Color3f color)
Draw a string.void
drawString(Vec2 pos, java.lang.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 coordinatesvoid
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)
-
-
-
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 usesdrawSegment(Vec2, Vec2, Color3f)
to draw each side of the polygon.- Parameters:
vertices
-vertexCount
-color
-
-
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
-
-
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
-
-
-