Code

r10817@tres: ted | 2006-01-29 15:45:22 -0800
[inkscape.git] / src / extension / dxf2svg / test_dxf.cpp
1 /* test read_dxf  */
2 #include"read_dxf.h"
3 #include"entities.h"
4 #include"blocks.h"
5 #include"tables.h"
6 #include<iostream>
7 #include"entities2elements.h"
9 using namespace std;
11 int main(){
12         std::vector< std::vector< dxfpair > >  output, entities_info, blocks_info, tables_info;
13         //output =  dxf_get_sections("circ_sqr.dxf");
14         //output =  dxf_get_sections("Labjack.dxf");
15         //output =  dxf_get_sections("mini_post.dxf");
16         //output =  dxf_get_sections("../8599-E0W.dxf");
17         //output =  dxf_get_sections("../bulged_lwpoly.dxf");
18         //output =  dxf_get_sections("../aspheric_lens.dxf");
19         output =  dxf_get_sections("../layers_colors.dxf");
20         /*std::vector< dxfpair > header;
21         std::vector< dxfpair > classes;
22         std::vector< dxfpair > tables;
23         std::vector< dxfpair > blocks;
24         std::vector< dxfpair > entities;
25         std::vector< dxfpair > objects;
26         std::vector< dxfpair > thumbnailimage;
27         */
28         
29         
30         //dxf_get_sections("circ_sqr.dxf",header,classes,tables,blocks,entities,objects,thumbnailimage);
31         //dxf_get_sections("mini_post.dxf",header,classes,tables,blocks,entities,objects,thumbnailimage);
32         
33         //cout << entities.size() << endl;
34         for (int i=0;i<output.size();i++) cout << "output[i].size()" << i << " = " << output[i].size() << endl;
35         //cout << endl;
36         //for (int i=0;i<output[0].size();i++) cout << output[0][i].group_code << "\t"  << output[0][i].value << endl;
37         //cout << endl;
38         //for (int i=0;i<output[4].size();i++) cout << output[4][i].group_code << "\t" << output[4][i].value << endl;
39         
40         // Now display the different parts of the entities section
41         //cout << endl;
42         for (int i=0;i < output[4].size();i++){
43                 //cout << output[4][i].group_code << "  " << output[4][i].value[0] << output[4][i].value[1] << endl;
44         }
45         cout << endl;
46         entities_info = separate_parts(output[4]);
47         cout << "entities_info.size() = " << entities_info.size() << endl;
48         
49         for (int i=0;i < entities_info.size();i++){
50                 //for (int j=0;j < entities_info[i].size();j++) cout << entities_info[i][j].group_code << "  " << entities_info[i][j].value[0] << entities_info[i][j].value[1] << entities_info[i][j].value[2] << entities_info[i][j].value[3] << entities_info[i][j].value[4] << "\n";
51                 //cout << endl << endl << endl;
52         }
53         
54         cout << "blocks separate parts" << endl;
55         blocks_info = separate_parts(output[3]); // Tables is the 4th part of a dxf file.
56         cout << "sort separated parts" << endl;
57         blocks blks(blocks_info);  // Sort the information in the tables
58         cout << "blocks_info.size() = " << blocks_info.size() << endl;
59         
60         for (int i=0;i < blocks_info.size();i++){
61                 //for (int j=0;j < blocks_info[i].size();j++) cout << blocks_info[i][j].group_code << "  " << blocks_info[i][j].value[0] << blocks_info[i][j].value[1] << blocks_info[i][j].value[2] << blocks_info[i][j].value[3] << blocks_info[i][j].value[4] << "\n";
62                 //cout << endl << endl << endl;
63         }
64         
65         
66         tables_info = separate_parts(output[2]); // Tables is the 3rd part of a dxf file.
67         cout << "tables_info.size() = " << tables_info.size() << endl;
68         for (int i=0;i < tables_info.size();i++){
69                 //for (int j=0;j < tables_info[i].size();j++) cout << tables_info[i][j].group_code << "  " << tables_info[i][j].value[0] << tables_info[i][j].value[1] << tables_info[i][j].value[2] << tables_info[i][j].value[3] << tables_info[i][j].value[4] << "\n";
70                 //cout << "i = " << i << endl << endl;
71         }
72         tables tbls(tables_info);  // Sort the information in the tables
73         
74         
75         
76         cout << "This should change \n";
77         
78         cout << "\n\nNow display all parsed info \n";
79         entities ents(entities_info);
80         ents.display_all();
81         
82         //char units[5] = "in";
83         char units[5] = "";
84         
85         cout << "\nNow for the begining of the SVG...\n\n";
86         
87         cout << "Polyline conversion\n";
88         //std::vector< polyline > pl_tmp= ents.ret_plines();
89         //cout << "pline2pline\n" << pline2pline(pl_tmp[0], units ) << endl;
90         //cout << "pline2pline\n" << pline2pline(ents.ret_plines()[0], units ) << endl;
91         //cout << "pline2path\n" << pline2path(ents.ret_plines()[0], units );
92         
93         char tmp_char[10000];
94         
95         cout << "\nCircle conversion\n";
96         //cout << "circle2circle\n" << circle2circle(ents.ret_circles()[0], 3, units, tmp_char) << endl;
97         
98         return 0;
99 }