5 #include "math/vector2d.h"
6 #include "phys/obj_body.h"
10 @brief Свободнолетающий шарнир
12 @author Феклушкин Денис <edu2005-60@mail.ru>
14 class hinge_obj
: public obj_Body
16 // единственный шарнир на этом точечном теле
17 force_point_obj
* hinge
;
19 /// Отображаемые в OpenGL размеры точки
20 static const Scalar display_size
;
26 bool fixed
; ///< Объект прибит гвоздями к миру?
28 hinge_obj(Vector2D coord
);
29 hinge_obj(point_t point
);
30 hinge_obj(Coord x
, Coord y
); ///< Конструктор с координатами появления шарнира
33 void display(); ///< Отображение средствами OpenGL
35 void physics_forces_calculate();
37 /// Возвращает ссылку на точку применения сил шарнира
38 force_point_obj
* GetHinge(){ assert(inited
); return hinge
; }
40 // функции тела, которые для точки все равны простым значениям:
41 void getDimensionsBox(Vector2D
* v1
, Vector2D
* v2
);
42 Scalar
getMomentOfInertia() const { return 1.0; }
43 void SetMass( Scalar m
) { assert(!inited
); mass
= m
; }
44 Vector2D
getCenterMass() const { return Vector2D(); }
45 Scalar
getMass() const { return mass
; }