4 #include "box2d/box2d.h"
20 b2FixtureDef fixtureDef;
31 Robot(b2World * world) {
33 m_bodyDef.type = b2_dynamicBody;
34 m_bodyDef.position.Set(0.0f, 0.0f);
35 m_body = world->CreateBody(&m_bodyDef);
37 m_body->GetUserData().pointer=
reinterpret_cast<uintptr_t
>(ROBOT_FLAG);
38 b2Vec2 center(ROBOT_BOX_OFFSET_X, ROBOT_BOX_OFFSET_Y);
39 m_box.SetAsBox(ROBOT_HALFWIDTH, ROBOT_HALFLENGTH, center, ROBOT_BOX_OFFSET_ANGLE);
40 fixtureDef.shape = &m_box;
41 fixtureDef.friction =0;
42 m_body->CreateFixture(&fixtureDef);
46 b2Body* body(){
return m_body;}
48 b2PolygonShape box(){
return m_box;}
53 std::vector <b2Vec2>result ={b2Vec2(-ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, -ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y),
54 b2Vec2(ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, -ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y),
55 b2Vec2(-ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y),
56 b2Vec2(ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y) };
61 return b2Vec2(-ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, -ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y);
65 return b2Vec2(ROBOT_HALFWIDTH+ROBOT_BOX_OFFSET_X, ROBOT_HALFLENGTH+ROBOT_BOX_OFFSET_Y);
Robot class for Box2D simulation.
Definition: robot.h:18
Robot()=default
This creates a robot object but it's uninitialised!
static std::vector< b2Vec2 > get_vertices()
Returns vertices in local frame. Order: bl, br, tl, tr.
Definition: robot.h:52