14 class EntityContainer;
23 * Data needed to insert library items.
25 struct LibraryInsertData
28 Vector insertionPoint;
34 * Class for the creation of new entities.
35 * This class is bound to an entity container in which the
36 * entities are stored.
38 * @author Andrew Mustun
43 Creation(EntityContainer * container, GraphicView * graphicView = NULL,
44 bool handleUndo = true);
46 Entity * createParallelThrough(const Vector & coord, int number,
49 Entity * createParallel(const Vector & coord, double distance,
50 int number, Entity * e);
52 Line * createParallelLine(const Vector & coord, double distance, int number,
55 Arc * createParallelArc(const Vector & coord, double distance, int number,
58 Circle * createParallelCircle(const Vector & coord, double distance, int number,
61 Line * createBisector(const Vector & coord1, const Vector & coord2, double length,
62 int num, Line * l1, Line * l2);
64 Line * createTangent1(const Vector & coord, const Vector & point, Entity * circle);
66 Line * createTangent2(const Vector & coord, Entity * circle1, Entity * circle2);
68 Line * createLineRelAngle(const Vector & coord, Entity * entity,
69 double angle, double length);
71 Line * createPolygon(const Vector & center, const Vector & corner, int number);
73 Line * createPolygon2(const Vector & corner1, const Vector & corner2, int number);
75 Insert * createInsert(InsertData & data);
77 Image * createImage(ImageData & data);
79 Block * createBlock(const BlockData & data, const Vector & referencePoint,
82 Insert * createLibraryInsert(LibraryInsertData & data);
84 //void createPoint(const Vector& p);
85 //void createLine2P(const Vector& p1, const Vector& p2);
86 //void createRectangle(const Vector& e1, const Vector& e2);
87 //Polyline* createPolyline(const Vector& p);
90 EntityContainer * container;
93 GraphicView * graphicView;