|
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 75 of file shape_poly_set.h.
| SHAPE_POLY_SET::TRIANGULATED_POLYGON::TRIANGULATED_POLYGON | ( | int | aSourceOutline | ) |
Definition at line 3784 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 3576 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 3790 of file shape_poly_set.cpp.
| void SHAPE_POLY_SET::TRIANGULATED_POLYGON::AddTriangle | ( | int | a, |
| int | b, | ||
| int | c ) |
Definition at line 3570 of file shape_poly_set.cpp.
References m_triangles.
|
inline |
Definition at line 188 of file shape_poly_set.h.
References m_vertices.
|
inline |
Definition at line 147 of file shape_poly_set.h.
References m_triangles, and m_vertices.
|
inline |
Definition at line 195 of file shape_poly_set.h.
References m_sourceOutline.
|
inline |
Definition at line 153 of file shape_poly_set.h.
References index, m_triangles, and m_vertices.
Referenced by ConvertPolygonToTriangles(), KIGFX::OPENGL_GAL::DrawGlyphs(), PNS_KICAD_IFACE_BASE::syncZone(), and KIFONT::OUTLINE_GLYPH::Triangulate().
|
inline |
Definition at line 193 of file shape_poly_set.h.
References m_triangles.
Referenced by 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 216 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 221 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 3587 of file shape_poly_set.cpp.
References m_sourceOutline, m_triangles, m_vertices, and TRIANGULATED_POLYGON().
|
inlinenoexcept |
Definition at line 171 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 3600 of file shape_poly_set.cpp.
References KIGEOM::InCircleDelaunayLegal(), KIGEOM::IsSliverTriangle(), m_triangles, m_vertices, and KIGEOM::OrientationSign().
|
inline |
Definition at line 196 of file shape_poly_set.h.
References m_sourceOutline.
|
inline |
Definition at line 199 of file shape_poly_set.h.
References m_triangles.
Referenced by BOOST_AUTO_TEST_CASE().
|
inline |
Definition at line 211 of file shape_poly_set.h.
References m_vertices.
|
inline |
Definition at line 198 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 210 of file shape_poly_set.h.
References m_vertices.
Referenced by POLYGON_TRIANGULATION::TesselatePolygon().
|
private |
Definition at line 228 of file shape_poly_set.h.
Referenced by GetSourceOutlineIndex(), operator=(), operator=(), SetSourceOutlineIndex(), TRIANGULATED_POLYGON(), and TRIANGULATED_POLYGON().
|
private |
Definition at line 229 of file shape_poly_set.h.
Referenced by AddTriangle(), Clear(), GetTriangle(), GetTriangleCount(), operator=(), operator=(), Refine(), SetTriangles(), Triangles(), and TRIANGULATED_POLYGON().
|
private |
Definition at line 230 of file shape_poly_set.h.
Referenced by AddVertex(), Clear(), GetTriangle(), GetVertexCount(), Move(), operator=(), operator=(), Refine(), SetVertices(), TRIANGULATED_POLYGON(), and Vertices().