KiCad PCB EDA Suite
|
#include <algorithm>
#include <assert.h>
#include <cmath>
#include <cstdio>
#include <istream>
#include <limits>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <unordered_set>
#include <utility>
#include <vector>
#include <clipper2/clipper.h>
#include <geometry/geometry_utils.h>
#include <geometry/polygon_triangulation.h>
#include <geometry/seg.h>
#include <geometry/shape.h>
#include <geometry/shape_line_chain.h>
#include <geometry/shape_poly_set.h>
#include <math/box2.h>
#include <math/util.h>
#include <math/vector2d.h>
#include <hash.h>
#include <mmh3_hash.h>
#include <geometry/shape_segment.h>
#include <geometry/shape_circle.h>
#include <advanced_config.h>
#include <wx/log.h>
Go to the source code of this file.
Classes | |
struct | FractureEdge |
struct | FractureEdgeSlow |
Macros | |
#define | TRIANGULATESIMPLIFICATIONLEVEL ADVANCED_CFG::GetCfg().m_TriangulateSimplificationLevel |
#define | ENABLECACHEFRIENDLYFRACTURE ADVANCED_CFG::GetCfg().m_EnableCacheFriendlyFracture |
#define | SEG_CNT_MAX 64 |
#define | SEG_CNT_MAX 64 |
#define | SEG_CNT_MAX 64 |
Typedefs | |
typedef std::vector< FractureEdge > | FractureEdgeSet |
typedef std::vector< FractureEdgeSlow * > | FractureEdgeSetSlow |
Functions | |
static FractureEdge * | processHole (FractureEdgeSet &edges, FractureEdge::Index provokingIndex, FractureEdge::Index edgeIndex, FractureEdge::Index bridgeIndex) |
static void | fractureSingleCacheFriendly (SHAPE_POLY_SET::POLYGON &paths) |
static int | processEdge (FractureEdgeSetSlow &edges, FractureEdgeSlow *edge) |
static void | fractureSingleSlow (SHAPE_POLY_SET::POLYGON &paths) |
static SHAPE_POLY_SET | partitionPolyIntoRegularCellGrid (const SHAPE_POLY_SET &aPoly, int aSize) |
#define ENABLECACHEFRIENDLYFRACTURE ADVANCED_CFG::GetCfg().m_EnableCacheFriendlyFracture |
Definition at line 72 of file shape_poly_set.cpp.
#define SEG_CNT_MAX 64 |
#define SEG_CNT_MAX 64 |
#define SEG_CNT_MAX 64 |
#define TRIANGULATESIMPLIFICATIONLEVEL ADVANCED_CFG::GetCfg().m_TriangulateSimplificationLevel |
Definition at line 71 of file shape_poly_set.cpp.
typedef std::vector<FractureEdge> FractureEdgeSet |
Definition at line 1453 of file shape_poly_set.cpp.
typedef std::vector<FractureEdgeSlow*> FractureEdgeSetSlow |
Definition at line 1685 of file shape_poly_set.cpp.
|
static |
Definition at line 1527 of file shape_poly_set.cpp.
References SHAPE_LINE_CHAIN::Append(), SHAPE_LINE_CHAIN::Clear(), FractureEdge::m_next, FractureEdge::m_p1, path, processHole(), SHAPE_LINE_CHAIN::SetClosed(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SHAPE_POLY_SET::fractureSingle().
|
static |
Definition at line 1765 of file shape_poly_set.cpp.
References SHAPE_LINE_CHAIN::Append(), FractureEdgeSlow::m_connected, FractureEdgeSlow::m_next, FractureEdgeSlow::m_p1, path, processEdge(), SHAPE_LINE_CHAIN::SetClosed(), and VECTOR2< T >::x.
Referenced by SHAPE_POLY_SET::fractureSingle().
|
static |
Definition at line 3159 of file shape_poly_set.cpp.
References SHAPE_POLY_SET::AddOutline(), SHAPE_LINE_CHAIN::Append(), SHAPE_POLY_SET::BBox(), BOX2< Vec >::GetHeight(), BOX2< Vec >::GetWidth(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), SHAPE_POLY_SET::PM_FAST, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by SHAPE_POLY_SET::cacheTriangulation().
|
static |
Definition at line 1688 of file shape_poly_set.cpp.
References FractureEdgeSlow::m_connected, FractureEdgeSlow::m_next, FractureEdgeSlow::m_p1, FractureEdgeSlow::m_p2, rescale(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by fractureSingleSlow().
|
static |
Definition at line 1456 of file shape_poly_set.cpp.
References FractureEdge::m_next, FractureEdge::m_p1, FractureEdge::m_p2, FractureEdge::matches(), rescale(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by fractureSingleCacheFriendly().