Bien que Farseer physique a des origines dans Box2D, ce n'est pas un port exact de celui-ci. Il a quelques similitudes, mais fait les choses de sa propre façon (plus familier avec les programmeurs C# je suppose). Il n'utilise pas de classes Def. Je crois que les 2 exemples suivants sont équivalents:
C++
// create a body
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.position.Set(-10, 20);
b2Body* body = world->CreateBody(&bodyDef);
// create a shape
b2CircleShape circleShape;
circleShape.m_radius = 0.5f;
// create a fixture
b2FixtureDef myFixtureDef;
myFixtureDef.shape = &circleShape;
body->CreateFixture(&myFixtureDef);
C#
// create a body
var body = world.CreateBody();
body.BodyType = BodyType.Dynamic;
body.Position = new Vector2(-10, 20);
// create a shape
var circleShape = new CircleShape(0.5f);
// create a fixture
var fixture = body.CreateFixture(circleShape);
Comme vous pouvez le voir sur le corps, la principale différence est que vous définissez les propriétés après la création sur la instance réelle plutôt que d'une classe def. Farseer Physics utilise également des classes Factory très pratiques. Jetez un oeil à la documentation pour plus d'informations.
https://farseerphysics.codeplex.com/documentation