4 #include "rs_entitycontainer.h"
6 #include "rs_polyline.h"
11 * Data needed to insert library items.
13 struct RS_LibraryInsertData
16 Vector insertionPoint;
22 * Class for the creation of new entities.
23 * This class is bound to an entity container in which the
24 * entities are stored.
26 * @author Andrew Mustun
31 RS_Creation(RS_EntityContainer * container, RS_GraphicView * graphicView = NULL,
32 bool handleUndo = true);
34 RS_Entity * createParallelThrough(const Vector & coord, int number,
37 RS_Entity * createParallel(const Vector & coord, double distance,
38 int number, RS_Entity * e);
40 RS_Line * createParallelLine(const Vector & coord, double distance, int number,
43 RS_Arc * createParallelArc(const Vector & coord, double distance, int number,
46 RS_Circle * createParallelCircle(const Vector & coord, double distance, int number,
49 RS_Line * createBisector(const Vector & coord1, const Vector & coord2, double length,
50 int num, RS_Line * l1, RS_Line * l2);
52 RS_Line * createTangent1(const Vector & coord, const Vector & point, RS_Entity * circle);
54 RS_Line * createTangent2(const Vector & coord, RS_Entity * circle1, RS_Entity * circle2);
56 RS_Line * createLineRelAngle(const Vector & coord, RS_Entity * entity,
57 double angle, double length);
59 RS_Line * createPolygon(const Vector & center, const Vector & corner, int number);
61 RS_Line * createPolygon2(const Vector & corner1, const Vector & corner2, int number);
63 RS_Insert * createInsert(RS_InsertData & data);
65 RS_Image * createImage(RS_ImageData & data);
67 RS_Block * createBlock(const RS_BlockData & data, const Vector & referencePoint,
70 RS_Insert * createLibraryInsert(RS_LibraryInsertData & data);
72 //void createPoint(const Vector& p);
73 //void createLine2P(const Vector& p1, const Vector& p2);
74 //void createRectangle(const Vector& e1, const Vector& e2);
75 //RS_Polyline* createPolyline(const Vector& p);
78 RS_EntityContainer * container;
80 RS_Document * document;
81 RS_GraphicView * graphicView;