#define CGAL_CAST_INT #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "benchmark.h" int main(int argc, char* argv[]) { char* Dxffilename[]={"myFirst.dxf","minimask0.dxf","minimask1.dxf","mask0.dxf","smallpainttrack.dxf","mask0_25.dxf","mask0_5.dxf","mask1.dxf","cad_l2.dxf","cad_l1.dxf"/*,"CIOnZDraw.dxf","che_mod1.dxf","elekonta.dxf","painttrack.dxf","netlist_signal_1.dxf","51.dxf"*/}; char* Htmlfilename; char* Texfilename; char exten[4]; int i; i=0; if (argv[1] != NULL) { int len =strlen(argv[1]); for (int j=0; j < 3 ; j++) { exten[j]=argv[1][len - 3 + j]; } if (strncmp(exten,"dxf",3) !=0) { std::cout<< "File is not correct (*.dxf is needed)." << std::endl; return 0; } else{ Dxffilename[i] = argv[1]; std::cout<< "File "<< Dxffilename[i] << " is correct."<2 and argv[2] != NULL) { int len =strlen(argv[2]); for (int j=0; j < 4 ; j++) { exten[j]=argv[2][len - 4 + j]; } if (strncmp(exten,"html",4) !=0) { std::cout<< "File "<< argv[2] << " is not correct (*.html is needed)." << std::endl; return 0; } else{ std::cout<< "File "<< argv[2] << " is correct." < NT1; typedef CGAL::Cartesian Linear_k1; typedef CGAL::Algebraic_kernel_for_circles_2_2 Algebraic_k1; typedef CGAL::Circular_kernel_2 CircularKernel; /* #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits CircularK_CA_Traits; #else typedef CGAL::Circular_arc_traits Traits0; typedef CGAL::Circular_arc_traits_tracer CircularK_CA_Traits; #endif typedef CircularKernel::Circular_arc_2 CircularKArc; typedef std::vector CircularKArcContainer; bench.kernel("Circular kernel Circular arc traits"); bench.Compute_no_dxf();*/ typedef CircularKernel::Circular_arc_2 Circular_arc_2; typedef CircularKernel::Line_arc_2 Line_arc_2; typedef CGAL::Variant_traits CircularK_Variant_Traits; typedef boost::variant< Circular_arc_2, Line_arc_2 > CircularKVarArc; typedef std::vector CircularKVarArcContainer; bench.kernel("Circular kernel Variant traits"); // bench.Compute(Dxffilename[i]); bench.Compute_dxf(Dxffilename[i]); /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!Lazy_curved_Kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ typedef CGAL::Quotient NT2; typedef CGAL::Cartesian Linear_k2; typedef CGAL::Algebraic_kernel_for_circles_2_2 Algebraic_k2; typedef CGAL::Circular_kernel_2 CK2_; //typedef CGAL::Interval_nt<> NT2; typedef CGAL::Interval_nt_advanced NT3; typedef CGAL::Cartesian Linear_k3; typedef CGAL::Algebraic_kernel_2_2 Algebraic_k3; typedef CGAL::Curved_kernel CK3_; typedef CGAL::Lazy_circular_kernel_2 LazyCurvedK; // #ifndef CGAL_CURVED_KERNEL_DEBUG // typedef CGAL::Circular_arc_traits LazyCurvedK_CA_Traits; // #else // typedef CGAL::Circular_arc_traits Traits0_2; // typedef CGAL::Circular_arc_traits_tracer LazyCurved_kTraits; // #endif // // typedef LazyCurvedK::Circular_arc_2 LazyArc; // typedef std::vector LazyArcContainer; // // bench.kernel("Lazy curved kernel Circular arc traits") ; // // bench.Compute_no_dxf(); typedef LazyCurvedK::Circular_arc_2 Circular_arc_3; typedef LazyCurvedK::Line_arc_2 Line_arc_3; typedef boost::variant LazyVarArc; typedef std::vector LazyVarContainer; typedef CGAL::Variant_traits LazyCurvedK_Variant_Traits; bench.kernel("Lazy curved kernel Variant traits"); // bench.Compute(Dxffilename[i]); // bench.Compute_dxf(Dxffilename[i]); /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!Filtered_hexagone_Circular_kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ /* asdashhhhhhhhhhhhfhjhdghdf typedef CGAL::Filtered_hexagon_curved_kernel CircularKernelHexagon; #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits CircularKernHex_CA_Traits; #else typedef CGAL::Circular_arc_traits Traits0_3; typedef CGAL::Circular_arc_traits_tracer CircularKernHex_CA_Traits; #endif typedef CircularKernelHexagon::Circular_arc_2 CircularKernHexArc; typedef std::vector CircularKernHexArcContainer; bench.kernel("Circular kernel filtered hexagon Circular arc traits"); bench.Compute_no_dxf(); typedef CircularKernelHexagon::Circular_arc_2 Circular_arc_4; typedef CircularKernelHexagon::Line_arc_2 Line_arc_4; typedef boost::variant< Circular_arc_4, Line_arc_4 > CircularKernHexVarArc; typedef std::vector CircularKernHexVarArcContainer; typedef CGAL::Variant_traits CircularKernHex_Variant_Traits; bench.kernel("Circular kernel filtered hexagon Variants traits"); bench.Compute(Dxffilename[i]); // bench.Compute_no_dxf(); */ /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!Filtered_hexagone_Lazy_Circular_kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ /* typedef CGAL::Filtered_hexagon_curved_kernel LazyKernelHexagon; #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits LazyKernelHexagon_CA_Traits; #else typedef CGAL::Circular_arc_traits Traits0_4; typedef CGAL::Circular_arc_traits_tracer LazyKernelHexagon_CA_Traits; #endif typedef LazyKernelHexagon::Circular_arc_2 LazyKernelHexagonArc; typedef std::vector LazyKernelHexagonArcContainer; bench.kernel("Lazy curved kernel filtered hexagon Circular arc traits"); bench.Compute_no_dxf(); typedef LazyKernelHexagon::Circular_arc_2 Circular_arc_5; typedef LazyKernelHexagon::Line_arc_2 Line_arc_5; typedef boost::variant HxLazyVarArc; typedef std::vector HxLazyVarContainer; typedef CGAL::Variant_traits HxLazyVariantTraits; bench.kernel("Lazy curved kernel filtered hexagon Variants traits") ; bench.Compute(Dxffilename[i]); //bench.Compute_no_dxf(); */ /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!bbox_filtered_Circular_kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ /* typedef CGAL::Filtered_bbox_curved_kernel BBCircularKernel ; #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits BBCircularKernel_CA_Traits; #else typedef CGAL::Circular_arc_traits Traits0_5; typedef CGAL::Circular_arc_traits_tracer BBCircularKernel_CA_Traits; #endif typedef BBCircularKernel::Circular_arc_2 BBCircularKernelArc; typedef std::vector BBCircularKernelArcContainer; bench.kernel("Circular kernel filtered bbox Circular arc traits"); bench.Compute_no_dxf(); typedef BBCircularKernel::Circular_arc_2 Circular_arc_6; typedef BBCircularKernel::Line_arc_2 Line_arc_6; typedef boost::variant BBCircVarArc; typedef std::vector BBCircVarContainer; typedef CGAL::Variant_traits BBCircVariantTraits; bench.kernel("Circular kernel filtered bbox Variants traits") ; bench.Compute(Dxffilename[i]); // bench.Compute_no_dxf(); */ /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!bbox_hexagone_Lazy_Circular_kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ /* typedef CGAL::Filtered_bbox_curved_kernel BBLazyCurvedK; #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits BBLazyCurvedK_CA_Traits; #else typedef CGAL::Circular_arc_traits Traits0_6; typedef CGAL::Circular_arc_traits_tracer BBLazyCurvedK_CA_Traits; #endif typedef BBLazyCurvedK::Circular_arc_2 BBLazyCurvedKArc; typedef std::vector BBLazyCurvedKArcContainer; bench.kernel("Lazy curved kernel filtered bbox Circular arc traits"); bench.Compute_no_dxf(); typedef BBLazyCurvedK::Circular_arc_2 Circular_arc_7; typedef BBLazyCurvedK::Line_arc_2 Line_arc_7; typedef boost::variant BBLazyVarArc; typedef std::vector< BBLazyVarArc> BBLazyVarContainer; typedef CGAL::Variant_traits BBLazyVariantTraits; bench.kernel("Lazy curved kernel filtered bbox Variants traits") ; bench.Compute(Dxffilename[i]); //bench.Compute_no_dxf(); */ /*------------------------------------------------------------------------------------------------------------------------- !!!!!!!!!!!bbox_filtered_Filtered_hexagone_Circular_kernel!!!!!!!!!!!!!!!!!! -------------------------------------------------------------------------------------------------------------------------*/ /* typedef CGAL::Filtered_bbox_curved_kernel BBCircKHexagon ; #ifndef CGAL_CURVED_KERNEL_DEBUG typedef CGAL::Circular_arc_traits BBCircKHexagonCATraits; #else typedef CGAL::Circular_arc_traits Traits0_7; typedef CGAL::Circular_arc_traits_tracer BBCircKHexagonCATraits; #endif typedef BBCircKHexagon::Circular_arc_2 BBCircKHexagonArc; typedef std::vector BBCircKHexagonArcCont; bench.kernel("BBox Circular kernel filtered bbox Circular arc traits"); bench.Compute_no_dxf(); typedef BBCircularKernelHexagon::Circular_arc_2 Circular_arc_8; typedef BBCircularKernelHexagon::Line_arc_2 Line_arc_8; typedef boost::variant BBCircularKernelHexagonVarArc; typedef std::vector BBCircularKernelHexagonVarContainer; typedef CGAL::Variant_traits BBCircularKernelHexagonVariantTraits; bench.kernel("BBox Circular kernel filtered bbox Variants traits") ; //bench.Compute(Dxffilename[i]); bench.Compute_no_dxf();*/ /*-------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------*/ if (i+1<15) { if (strcmp(Dxffilename[i+1],"")) { bench.newDxfFilename(Dxffilename[i+1]); } else { std::cout << "that's all" << Dxffilename[i+1] << std::endl; break; } } } bench.infotable(); return 0; }