KiCad PCB EDA Suite
Loading...
Searching...
No Matches
shape_poly_set.cpp File Reference
#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< FractureEdgeFractureEdgeSet
 
typedef std::vector< FractureEdgeSlow * > FractureEdgeSetSlow
 

Functions

static FractureEdgeprocessHole (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)
 

Macro Definition Documentation

◆ ENABLECACHEFRIENDLYFRACTURE

#define ENABLECACHEFRIENDLYFRACTURE   ADVANCED_CFG::GetCfg().m_EnableCacheFriendlyFracture

Definition at line 72 of file shape_poly_set.cpp.

◆ SEG_CNT_MAX [1/3]

#define SEG_CNT_MAX   64

◆ SEG_CNT_MAX [2/3]

#define SEG_CNT_MAX   64

◆ SEG_CNT_MAX [3/3]

#define SEG_CNT_MAX   64

◆ TRIANGULATESIMPLIFICATIONLEVEL

#define TRIANGULATESIMPLIFICATIONLEVEL   ADVANCED_CFG::GetCfg().m_TriangulateSimplificationLevel

Definition at line 71 of file shape_poly_set.cpp.

Typedef Documentation

◆ FractureEdgeSet

typedef std::vector<FractureEdge> FractureEdgeSet

Definition at line 1453 of file shape_poly_set.cpp.

◆ FractureEdgeSetSlow

typedef std::vector<FractureEdgeSlow*> FractureEdgeSetSlow

Definition at line 1685 of file shape_poly_set.cpp.

Function Documentation

◆ fractureSingleCacheFriendly()

◆ fractureSingleSlow()

◆ partitionPolyIntoRegularCellGrid()

◆ processEdge()

◆ processHole()

static FractureEdge * processHole ( FractureEdgeSet edges,
FractureEdge::Index  provokingIndex,
FractureEdge::Index  edgeIndex,
FractureEdge::Index  bridgeIndex 
)
static