public override PhysicsBody CreateCircle(float radius) { Body circle = BodyFactory.CreateCircle(world, unitConverter.ToSimUnits(radius), 1.0f); var body = new FarseerBody(circle) { UnitConverter = unitConverter }; AddBody(body); return body; }
public override PhysicsBody CreateRectangle(Size size) { Body rectangle = BodyFactory.CreateRectangle(world, unitConverter.ToSimUnits(size.Width), unitConverter.ToSimUnits(size.Height), 1.0f); var body = new FarseerBody(rectangle) { UnitConverter = unitConverter }; AddBody(body); return body; }
public override PhysicsBody CreatePolygon(params Vector2D[] positions) { Vertices polygon = unitConverter.Convert(positions); Vector2 centroid = -polygon.GetCentroid(); polygon.Translate(ref centroid); Body body = BodyFactory.CreatePolygon(world, polygon, 1.0f); var newBody = new FarseerBody(body) { UnitConverter = unitConverter }; AddBody(newBody); return newBody; }
public override PhysicsBody CreateEdge(Vector2D startPoint, Vector2D endPoint) { Body edge = BodyFactory.CreateEdge(world, unitConverter.ToSimUnits(unitConverter.Convert(startPoint)), unitConverter.ToSimUnits(unitConverter.Convert(endPoint))); var body = new FarseerBody(edge) { UnitConverter = unitConverter }; AddBody(body); body.IsStatic = true; return body; }
public override PhysicsBody CreateEdge(params Vector2D[] positions) { var edge = new Body(world); Vertices farseerVertices = unitConverter.Convert(positions); for (int i = 0; i < farseerVertices.Count - 1; ++i) FixtureFactory.AttachEdge(farseerVertices[i], farseerVertices[i + 1], edge); var body = new FarseerBody(edge) { UnitConverter = unitConverter }; AddBody(body); return body; }
public override PhysicsBody CreateCircle(float radius) { Body circle = BodyFactory.CreateCircle(world, unitConverter.ToSimUnits(radius), 1.0f); var body = new FarseerBody(circle) { UnitConverter = unitConverter }; AddBody(body); return(body); }
public override PhysicsBody CreateRectangle(Size size) { Body rectangle = BodyFactory.CreateRectangle(world, unitConverter.ToSimUnits(size.Width), unitConverter.ToSimUnits(size.Height), 1.0f); var body = new FarseerBody(rectangle) { UnitConverter = unitConverter }; AddBody(body); return(body); }
public override PhysicsBody CreateEdge(Vector2D startPoint, Vector2D endPoint) { Body edge = BodyFactory.CreateEdge(world, unitConverter.ToSimUnits(unitConverter.Convert(startPoint)), unitConverter.ToSimUnits(unitConverter.Convert(endPoint))); var body = new FarseerBody(edge) { UnitConverter = unitConverter }; AddBody(body); body.IsStatic = true; return(body); }
public override PhysicsBody CreatePolygon(params Vector2D[] positions) { Vertices polygon = unitConverter.Convert(positions); Vector2 centroid = -polygon.GetCentroid(); polygon.Translate(ref centroid); Body body = BodyFactory.CreatePolygon(world, polygon, 1.0f); var newBody = new FarseerBody(body) { UnitConverter = unitConverter }; AddBody(newBody); return(newBody); }
public override PhysicsBody CreateEdge(params Vector2D[] positions) { var edge = new Body(world); Vertices farseerVertices = unitConverter.Convert(positions); for (int i = 0; i < farseerVertices.Count - 1; ++i) { FixtureFactory.AttachEdge(farseerVertices[i], farseerVertices[i + 1], edge); } var body = new FarseerBody(edge) { UnitConverter = unitConverter }; AddBody(body); return(body); }