14 class RS_EntityContainer;
23 * Data needed to insert library items.
25 struct RS_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 RS_Creation(RS_EntityContainer * container, RS_GraphicView * graphicView = NULL,
44 bool handleUndo = true);
46 RS_Entity * createParallelThrough(const Vector & coord, int number,
49 RS_Entity * createParallel(const Vector & coord, double distance,
50 int number, RS_Entity * e);
52 RS_Line * createParallelLine(const Vector & coord, double distance, int number,
55 RS_Arc * createParallelArc(const Vector & coord, double distance, int number,
58 RS_Circle * createParallelCircle(const Vector & coord, double distance, int number,
61 RS_Line * createBisector(const Vector & coord1, const Vector & coord2, double length,
62 int num, RS_Line * l1, RS_Line * l2);
64 RS_Line * createTangent1(const Vector & coord, const Vector & point, RS_Entity * circle);
66 RS_Line * createTangent2(const Vector & coord, RS_Entity * circle1, RS_Entity * circle2);
68 RS_Line * createLineRelAngle(const Vector & coord, RS_Entity * entity,
69 double angle, double length);
71 RS_Line * createPolygon(const Vector & center, const Vector & corner, int number);
73 RS_Line * createPolygon2(const Vector & corner1, const Vector & corner2, int number);
75 RS_Insert * createInsert(RS_InsertData & data);
77 RS_Image * createImage(RS_ImageData & data);
79 RS_Block * createBlock(const RS_BlockData & data, const Vector & referencePoint,
82 RS_Insert * createLibraryInsert(RS_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 //RS_Polyline* createPolyline(const Vector& p);
90 RS_EntityContainer * container;
92 RS_Document * document;
93 RS_GraphicView * graphicView;