3 const Scalar
hinge_obj::display_size
= 0.06f
;
5 void hinge_obj::Init_defaults()
12 // удалять при деструкции не нужно - obj_Body следит за шарнирами тела
13 hinge
= addBodyHingeFromCenter( Vector2D(0, 0) );
14 hinge
->visible
= false; // скроем шарнир, чтобы крестики не накладывались
19 hinge_obj::hinge_obj(Vector2D coord
)
28 hinge_obj::hinge_obj(point_t point
)
32 coords
.val
.x
= point
.x
;
33 coords
.val
.y
= point
.y
;
39 hinge_obj::hinge_obj(Coord x
, Coord y
)
51 hinge_obj::~hinge_obj()
55 void hinge_obj::display()
58 // force_point_obj::ShowDebugVector();
60 glColor3f(1.0,1.0,1.0);
63 glVertex2f( -display_size
, -display_size
);
64 glVertex2f( display_size
, display_size
);
66 glVertex2f( -display_size
, display_size
);
67 glVertex2f( display_size
, -display_size
);
72 void hinge_obj::physics_forces_calculate()
75 // обычный незафиксированный движущийся шарнир
78 // других внутренних сил на точку вроде не действует:
79 ApplyForce( g
* mass
); // вес тела это сила тянущая его вниз
85 void hinge_obj::getDimensionsBox(Vector2D
* v1
, Vector2D
* v2
)
87 Vector2D
g1(-display_size
, -display_size
);
88 Vector2D
g2( display_size
, display_size
);
89 Vector2D::MergeVector( g1
, v1
, v2
);
90 Vector2D::MergeVector( g2
, v1
, v2
);