Synopsis Cross-Reference
File: Shapes.h 1#ifndef Shapes_h_
2#define Shapes_h_
3
4#include <Paths.h>
5
6class Shape
7{
8public:
9 virtual ~Shape() {}
10 virtual void draw() = 0;
11 virtual const Path &outline() = 0;
12};
13
14class Polygon : public Shape
15{
16public:
17 Polygon();
18 virtual ~Polygone() {}
19 virtual void draw();
20 virtual const Path &outline() { return outline_;}
21private:
22 Paths::Polyline outline_;
23};
24
25class Ellipse : public Shape
26{
27public:
28 Ellipse();
29 virtual ~Ellipse() {}
30 virtual void draw();
31 virtual const Path &outline() { return outline_;}
32private:
33 Paths::Nurbs outline_;
34};
35
36#endif