Code

fix bug #1568462 boolean operation remove mask/clip-path
[inkscape.git] / src / extension / dxf2svg / entities2elements.h
1 /* Method for converting dxf entities to SVG elements
2 There are multiple ways for converting different items
4 If possible most DXF enetities will be converted to paths because that is the most flexable object
6 Matt Squires
7 SoC 2005
9 */
11 #include"entities.h"
12 #include"tables.h"
13 #include"blocks.h"
15 // The names indicate the DXF entitiy first and the SVG element last
17 // Common elements
18 char* to_arc(double bulge, double r, double start_ang, double end_ang, int precision,char* delim, char * units, double scaling, char *out); // This is used for arcs, polylines, and lwpolylines
20 // DXF Polyline -> SVG
22 char* pline2path(polyline pline, char * units, double scaling, tables plot_info);  // Convert a dxf polyline to a SVG path.  This is the closest conversion of the DXF polyline to an SVG element
23 char* pline2pline(polyline pline, char * units, double scaling, tables plot_info);  // Convert a dxf polyline to a SVG polyline.  The conversion is not 1:1 because the SVG pline doesn't support closed objects or curves
24 char* pline2polygon(polyline pline, char * units, double scaling, tables plot_info);  // Convert a dxf polyline to a SVG polygon.  The conversion is not 1:1 because the SVG polygone assumes a closed path.  If the pline is not closed it will be forced closed
26 // DXF LWPolyline -> SVG
27 char* lwpline2path(lwpolyline pline, char * units, double scaling, tables plot_info);  // Convert a dxf polyline to a SVG path.  This is the closest conversion of the DXF polyline to an SVG element
29 // DXF ARC -> SVG
30 char* arc2path(arc a, int precision, char * units, double scaling, tables plot_info, char *out); // So far this appears to be the only way to convert arcs into something recognized by SVG
33 // DXF Circle -> SVG
34 char* circle2circle(circle circ, int precision, char * units, double scaling, tables plot_info, char *out); // Direct conversion of DXF circle to SVG circle
35 char* circle2path(circle circ, int precision, char * units, double scaling, tables plot_info, char *out); // Conversion of DXF circle to SVG circle assuming the path will represent the circle
38 // DXF Line -> SVG
39 char* line2line(line ln, int precision, char * units, double scaling, tables plot_info, char *out);  // Directly convert DXF to SVG because it works
40 char* line2path(line ln, int precision, char * units, double scaling, tables plot_info, char *out);  // Convert DXF line to SVG path
42 // DXF Text -> SVG
43 char* text2text(text txt, int precision, char * units, double scaling, tables plot_info, char *out); // Directly convert DXF to SVF assuming VERANDA font
45 // DXF Insert -> SVG
46 char* insert2group(insert in, int precision, char * units, double scaling, tables plot_info, blocks blks, char *out);
48 // Write all of the possible enties with a variety of options
50 char* write_by_layer(int output_type, entities &ents, tables &tbls, blocks &blks, double scaling, char * units, char * layer, char * out); // Write out the entities by layer designation
51 char* write_all(int output_type, entities &ents, tables &tbls, blocks &blks, double scaling, char * units, char * out);