20#ifndef LIBREPCB_CORE_BOARDCLIPPERPATHGENERATOR_H
21#define LIBREPCB_CORE_BOARDCLIPPERPATHGENERATOR_H
26#include "../../../geometry/path.h"
27#include "../../../types/length.h"
28#include "../../../utils/transform.h"
31#include <polyclipping/clipper.hpp>
62 const QSet<std::optional<Uuid>>& netsignals,
63 bool ignorePlanes =
false);
68 void addPlane(
const QVector<Path>& fragments);
78 void addPad(
const Data::Pad& pad,
const Layer& layer,
Helper to create Clipper paths for librepcb::BoardDesignRuleCheck.
Definition boardclipperpathgenerator.h:47
void addHole(const PositiveLength &diameter, const NonEmptyPath &path, const Transform &transform=Transform(), const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:346
void addStopMaskOpenings(const Data &data, const Layer &layer, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:160
const ClipperLib::Paths & getPaths() const noexcept
Definition boardclipperpathgenerator.h:57
void addStrokeText(const Data::StrokeText &strokeText, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:332
void addTrace(const Data::Trace &trace, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:263
void addCopper(const Data &data, const Layer &layer, const QSet< std::optional< Uuid > > &netsignals, bool ignorePlanes=false)
Definition boardclipperpathgenerator.cpp:70
PositiveLength mMaxArcTolerance
Definition boardclipperpathgenerator.h:82
void addPolygon(const Path &path, const UnsignedLength &lineWidth, bool filled, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:283
void addPad(const Data::Pad &pad, const Layer &layer, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:358
BoardDesignRuleCheckData Data
Definition boardclipperpathgenerator.h:49
ClipperLib::Paths mPaths
Definition boardclipperpathgenerator.h:83
void addPlane(const QVector< Path > &fragments)
Definition boardclipperpathgenerator.cpp:275
~BoardClipperPathGenerator() noexcept
Definition boardclipperpathgenerator.cpp:54
void addVia(const Data::Via &via, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:251
void addCircle(const Data::Circle &circle, const Transform &transform, const Length &offset=Length(0))
Definition boardclipperpathgenerator.cpp:307
void takePathsTo(ClipperLib::Paths &out) noexcept
Definition boardclipperpathgenerator.cpp:61
The Layer class provides all supported geometry layers.
Definition layer.h:42
The Length class is used to represent a length (for example 12.75 millimeters)
Definition length.h:82
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition path.h:57
Definition occmodel.cpp:76
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Path, NonEmptyPathConstraint, NonEmptyPathVerifier > NonEmptyPath
Definition path.h:231
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
Input data structure for librepcb::BoardDesignRuleCheck.
Definition boarddesignrulecheckdata.h:48