25 #ifndef FREESCAPE_GEOMETRICOBJECT_H 26 #define FREESCAPE_GEOMETRICOBJECT_H 28 #include "freescape/language/instruction.h" 29 #include "freescape/objects/group.h" 30 #include "freescape/objects/object.h" 36 static int numberOfColoursForObjectOfType(ObjectType type);
37 static int numberOfOrdinatesForType(ObjectType type);
38 static bool isPyramid(ObjectType type);
39 static bool isPolygon(ObjectType type);
45 const Math::Vector3d &origin,
46 const Math::Vector3d &size,
53 void setOrigin(Math::Vector3d origin)
override;
54 void offsetOrigin(Math::Vector3d origin_);
55 void restoreOrdinates();
57 Object *duplicate()
override;
58 void scale(
int factor)
override;
59 void computeBoundingBox();
60 bool collides(
const Math::AABB &boundingBox);
62 bool isDrawable()
override;
63 bool isPlanar()
override;
66 bool isLineButNotStraight();
80 #endif // FREESCAPE_GEOMETRICOBJECT_H Definition: geometricobject.h:34