KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_convert_tool.cpp File Reference
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <algorithm>
#include <deque>
#include <board.h>
#include <pcb_shape.h>
#include <eda_item.h>
#include <locale_io.h>
#include <geometry/shape_poly_set.h>
#include <import_gfx/dxf_import_plugin.h>
#include <import_gfx/graphics_importer_pcbnew.h>
#include <tools/convert_tool.h>
#include <pcbnew_utils/board_file_utils.h>

Go to the source code of this file.

Classes

class  CONVERT_TOOL_TEST_FIXTURE
 Exposes CONVERT_TOOL's private chaining routine so the regression test can drive the real production code rather than a reimplementation. More...
 

Functions

 BOOST_AUTO_TEST_CASE (CreatePolygonFromSplineOutline)
 Regression test for https://gitlab.com/kicad/code/kicad/-/issues/22127.
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE()

BOOST_AUTO_TEST_CASE ( CreatePolygonFromSplineOutline )

Regression test for https://gitlab.com/kicad/code/kicad/-/issues/22127.

A Fusion360-exported DXF outline made of lines and splines chains into a single closed loop only if sub-tolerance gaps at the spline junctions are bridged. The spline endpoints in this file differ from their neighbours' by up to ~52 IU (well under the 100 IU chaining tolerance), so "Create Polygon from Selection" must still produce one closed polygon covering every shape.

Definition at line 65 of file test_convert_tool.cpp.

References SHAPE_LINE_CHAIN::Area(), BOOST_AUTO_TEST_CASE(), BOOST_CHECK_EQUAL(), BOOST_CHECK_MESSAGE(), BOOST_REQUIRE(), dummy, Edge_Cuts, GRAPHICS_IMPORTER::GetItems(), KI_TEST::GetPcbnewTestDataDir(), DXF_IMPORT_PLUGIN::Import(), SHAPE_LINE_CHAIN::IsClosed(), DXF_IMPORT_PLUGIN::Load(), MM, result, DXF_IMPORT_PLUGIN::SetImporter(), GRAPHICS_IMPORTER_PCBNEW::SetLayer(), DXF_IMPORT_PLUGIN::SetUnit(), and SKIP_STRUCT.