1 #ifndef LIBR2C2_OBJECT_H_
2 #define LIBR2C2_OBJECT_H_
5 #include "objecttype.h"
18 Object(Layout &l): layout(l) { }
22 virtual Object *clone(Layout * = 0) const = 0;
23 virtual const ObjectType &get_type() const = 0;
24 Layout &get_layout() const { return layout; }
25 virtual void set_position(const Vector &) = 0;
26 virtual void set_rotation(float) = 0;
27 const Vector &get_position() const { return position; }
28 float get_rotation() const { return rotation; }
29 virtual Object *get_parent() const { return 0; }
30 virtual bool collide_ray(const Vector &, const Vector &) const = 0;