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<tl::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< tl::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
BoardClipperPathGenerator(const PositiveLength &maxArcTolerance) noexcept
Definition: boardclipperpathgenerator.cpp:49
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:83
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition: path.h:58
Definition: occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition: length.h:812
type_safe::constrained_type< Path, NonEmptyPathConstraint, NonEmptyPathVerifier > NonEmptyPath
Definition: path.h:222
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition: length.h:696
Input data structure for librepcb::BoardDesignRuleCheck.
Definition: boarddesignrulecheckdata.h:48