Drawing Shape in DebugView (Farseer)
- by keyvan kazemi
As the title says, I need to draw a shape/polygon in Farseer using debugview.
I have this piece of code which converts a Texture to polygon:
//load texture that will represent the tray
trayTexture = Content.Load<Texture2D>("tray");
//Create an array to hold the data from the texture
uint[] data = new uint[trayTexture.Width * trayTexture.Height];
//Transfer the texture data to the array
trayTexture.GetData(data);
//Find the vertices that makes up the outline of the shape in the texture
Vertices verts = PolygonTools.CreatePolygon(data, trayTexture.Width, false);
//Since it is a concave polygon, we need to partition it into several smaller convex polygons
_list = BayazitDecomposer.ConvexPartition(verts);
Vector2 vertScale = new Vector2(ConvertUnits.ToSimUnits(1));
foreach (Vertices verti in _list)
{
verti.Scale(ref vertScale);
}
tray = BodyFactory.CreateCompoundPolygon(MyWorld, _list, 10);
Now in DebugView I guess I have to use "DrawShape" method which requires:
DrawShape(Fixture fixture, Transform xf, Color color)
My question is how can I get the variables needed for this method, namely Fixture and Transform?