|
KiCad PCB EDA Suite
|
#include <shape_poly_set.h>
Classes | |
| struct | TRI |
Public Member Functions | |
| TRIANGULATED_POLYGON (int aSourceOutline) | |
| TRIANGULATED_POLYGON (const TRIANGULATED_POLYGON &aOther) | |
| ~TRIANGULATED_POLYGON () | |
| void | Clear () |
| void | GetTriangle (int index, VECTOR2I &a, VECTOR2I &b, VECTOR2I &c) const |
| void | Refine () |
| Refine this triangulation in place with boundary-preserving Lawson edge flips, minimizing the number of sliver triangles and, on ties, maximizing the minimum angle. | |
| TRIANGULATED_POLYGON & | operator= (const TRIANGULATED_POLYGON &aOther) |
| TRIANGULATED_POLYGON & | operator= (TRIANGULATED_POLYGON &&aOther) noexcept |
| void | AddTriangle (int a, int b, int c) |
| void | AddVertex (const VECTOR2I &aP) |
| size_t | GetTriangleCount () const |
| int | GetSourceOutlineIndex () const |
| void | SetSourceOutlineIndex (int aIndex) |
| const std::deque< TRI > & | Triangles () const |
| void | SetTriangles (const std::deque< TRI > &aTriangles) |
| const std::deque< VECTOR2I > & | Vertices () const |
| void | SetVertices (const std::deque< VECTOR2I > &aVertices) |
| size_t | GetVertexCount () const |
| void | Move (const VECTOR2I &aVec) |
Private Attributes | |
| int | m_sourceOutline |
| std::deque< TRI > | m_triangles |
| std::deque< VECTOR2I > | m_vertices |
Definition at line 77 of file shape_poly_set.h.
| SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRIANGULATED_POLYGON | ( | int | aSourceOutline | ) |
Definition at line 4170 of file shape_poly_set.cpp.
References m_sourceOutline.
Referenced by operator=(), operator=(), SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRI::TRI(), and TRIANGULATED_POLYGON().
| SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRIANGULATED_POLYGON | ( | const TRIANGULATED_POLYGON & | aOther | ) |
Definition at line 3962 of file shape_poly_set.cpp.
References m_sourceOutline, m_triangles, m_vertices, and TRIANGULATED_POLYGON().
| SHAPE_POLY_SET::TRIANGULATED_POLYGON::~TRIANGULATED_POLYGON | ( | ) |
Definition at line 4176 of file shape_poly_set.cpp.
| void SHAPE_POLY_SET::TRIANGULATED_POLYGON::AddTriangle | ( | int | a, |
| int | b, | ||
| int | c ) |
Definition at line 3956 of file shape_poly_set.cpp.
References m_triangles.
|
inline |
Definition at line 190 of file shape_poly_set.h.
References m_vertices.
|
inline |
Definition at line 149 of file shape_poly_set.h.
References m_triangles, and m_vertices.
|
inline |
Definition at line 197 of file shape_poly_set.h.
References m_sourceOutline.
|
inline |
Definition at line 155 of file shape_poly_set.h.
References index, m_triangles, and m_vertices.
Referenced by PANEL_PREVIEW_3D_MODEL::alignmentPadTriangles(), ConvertPolygonToTriangles(), KIGFX::OPENGL_GAL::DrawGlyphs(), PNS_KICAD_IFACE_BASE::syncZone(), and KIFONT::OUTLINE_GLYPH::Triangulate().
|
inline |
Definition at line 195 of file shape_poly_set.h.
References m_triangles.
Referenced by PANEL_PREVIEW_3D_MODEL::alignmentPadTriangles(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), ConvertPolygonToTriangles(), KIGFX::OPENGL_GAL::DrawGlyphs(), KIGFX::OPENGL_GAL::drawTriangulatedPolyset(), PNS_KICAD_IFACE_BASE::syncZone(), and KIFONT::OUTLINE_GLYPH::Triangulate().
|
inline |
Definition at line 218 of file shape_poly_set.h.
References m_vertices.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 223 of file shape_poly_set.h.
References m_vertices.
| SHAPE_POLY_SET::TRIANGULATED_POLYGON & SHAPE_POLY_SET::TRIANGULATED_POLYGON::operator= | ( | const TRIANGULATED_POLYGON & | aOther | ) |
Definition at line 3973 of file shape_poly_set.cpp.
References m_sourceOutline, m_triangles, m_vertices, and TRIANGULATED_POLYGON().
|
inlinenoexcept |
Definition at line 173 of file shape_poly_set.h.
References m_sourceOutline, m_triangles, m_vertices, and TRIANGULATED_POLYGON().
| void SHAPE_POLY_SET::TRIANGULATED_POLYGON::Refine | ( | ) |
Refine this triangulation in place with boundary-preserving Lawson edge flips, minimizing the number of sliver triangles and, on ties, maximizing the minimum angle.
Adds and removes no vertices or triangles.
Definition at line 3986 of file shape_poly_set.cpp.
References KIGEOM::InCircleDelaunayLegal(), KIGEOM::IsSliverTriangle(), m_triangles, m_vertices, and KIGEOM::OrientationSign().
|
inline |
Definition at line 198 of file shape_poly_set.h.
References m_sourceOutline.
|
inline |
Definition at line 201 of file shape_poly_set.h.
References m_triangles.
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 213 of file shape_poly_set.h.
References m_vertices.
|
inline |
Definition at line 200 of file shape_poly_set.h.
References m_triangles.
Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), countSpikeyTriangles(), and POLYGON_TRIANGULATION::TesselatePolygon().
|
inline |
Definition at line 212 of file shape_poly_set.h.
References m_vertices.
Referenced by POLYGON_TRIANGULATION::TesselatePolygon().
|
private |
Definition at line 230 of file shape_poly_set.h.
Referenced by GetSourceOutlineIndex(), operator=(), operator=(), SetSourceOutlineIndex(), TRIANGULATED_POLYGON(), and TRIANGULATED_POLYGON().
|
private |
Definition at line 231 of file shape_poly_set.h.
Referenced by AddTriangle(), Clear(), GetTriangle(), GetTriangleCount(), operator=(), operator=(), Refine(), SetTriangles(), Triangles(), and TRIANGULATED_POLYGON().
|
private |
Definition at line 232 of file shape_poly_set.h.
Referenced by AddVertex(), Clear(), GetTriangle(), GetVertexCount(), Move(), operator=(), operator=(), Refine(), SetVertices(), TRIANGULATED_POLYGON(), and Vertices().