7 #ifndef LIB_ALMATH_GEOMETRICS_SHAPES_H
8 #define LIB_ALMATH_GEOMETRICS_SHAPES_H
57 Pill(
float pHalfExtent,
float pRadius);
82 Rectangle(
float pHalfExtentX,
float pHalfExtentY);
100 virtual void visit(
const Pill &pShape)
const = 0;
101 virtual void visit(
const Sphere &pShape)
const = 0;
103 virtual void visit(
const Plane &pShape)
const = 0;
115 throw std::runtime_error(fMsg);
118 throw std::runtime_error(fMsg);
121 throw std::runtime_error(fMsg);
124 throw std::runtime_error(fMsg);
127 throw std::runtime_error(fMsg);
130 throw std::runtime_error(fMsg);
133 throw std::runtime_error(fMsg);
144 #endif // LIB_ALMATH_GEOMETRICS_SHAPE_H
virtual ~NotImplementedShape3DVisitor()
virtual void accept(const Shape3DVisitor &v) const
virtual void accept(const Shape3DVisitor &v) const =0
virtual void visit(const Pill &pShape) const =0
virtual void accept(const Shape3DVisitor &v) const
float getHalfExtentX() const
RoundedRectangle(float pHalfExtentX, float pHalfExtentY, float pRadius)
float getHalfExtentX() const
virtual void visit(const Sphere &pShape) const
Pill(float pHalfExtent, float pRadius)
NotImplementedShape3DVisitor(const std::string msg="not implemented")
virtual void visit(const RoundedRectangle &pShape) const
float getHalfExtentY() const
virtual void visit(const Rectangle &pShape) const
virtual void accept(const Shape3DVisitor &v) const
float getHalfExtentY() const
virtual void visit(const Plane &pShape) const
virtual void visit(const Pill &pShape) const
virtual void visit(const HalfLine &pShape) const
virtual void visit(const HalfSpace &pShape) const
virtual void accept(const Shape3DVisitor &v) const
virtual void accept(const Shape3DVisitor &v) const
virtual void accept(const Shape3DVisitor &v) const
Rectangle(float pHalfExtentX, float pHalfExtentY)
float getHalfExtent() const
virtual ~Shape3DVisitor()
virtual void accept(const Shape3DVisitor &v) const