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 void setColor(uint idx,
int color);
63 bool isFullyTransparent()
const;
64 bool isDrawable()
override;
65 bool isPlanar()
override;
68 bool isLineButNotStraight();
Definition: geometricobject.h:34