20#ifndef LIBREPCB_CORE_INTERACTIVEHTMLBOM_H
21#define LIBREPCB_CORE_INTERACTIVEHTMLBOM_H
26#include "../geometry/padgeometry.h"
27#include "../geometry/padhole.h"
28#include "../geometry/path.h"
29#include "../utils/rusthandle.h"
96 const QString& revision,
const QString& date,
97 const Point& topLeft,
const Point& bottomRight);
150 void setFields(
const QStringList& fields)
noexcept;
175 const std::optional<QString>& netName)
noexcept;
189 const std::optional<QString>& netName)
noexcept;
199 const std::optional<QString>& netName)
noexcept;
215 const Point& topLeft,
const Point& bottomRight,
216 bool mount,
const QStringList& fields,
217 const QList<Pad>& pads)
noexcept;
226 const QList<std::pair<QString, std::size_t>>& parts)
noexcept;
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
Zip file reader.
Definition interactivehtmlbom.h:55
void addTrack(Layer layer, const Point &start, const Point &end, const PositiveLength &width, const std::optional< QString > &netName) noexcept
Add a track.
Definition interactivehtmlbom.cpp:198
void setFields(const QStringList &fields) noexcept
Set the fields of BOM lines.
Definition interactivehtmlbom.cpp:166
void setShowSilkscreen(bool show) noexcept
Set silkscreen visibility.
Definition interactivehtmlbom.cpp:150
InteractiveHtmlBom(const InteractiveHtmlBom &other)=delete
void setViewConfig(ViewMode mode, HighlightPin1Mode highlightPin1, bool dark) noexcept
Set view configuration.
Definition interactivehtmlbom.cpp:124
ViewMode
Definition interactivehtmlbom.h:57
std::size_t addFootprint(Layer layer, const Point &pos, const Angle &rot, const Point &topLeft, const Point &bottomRight, bool mount, const QStringList &fields, const QList< Pad > &pads) noexcept
Add footprint.
Definition interactivehtmlbom.cpp:243
void setCheckBoxes(const QStringList &names) noexcept
Set the BOM checkbox columns.
Definition interactivehtmlbom.cpp:162
HighlightPin1Mode
Definition interactivehtmlbom.h:58
void addPlaneFragment(Layer layer, const Path &outline, const std::optional< QString > &netName) noexcept
Add plane fragment.
Definition interactivehtmlbom.cpp:231
QString generateHtml() const
Generate the HTML.
Definition interactivehtmlbom.cpp:340
RustHandle< rs::InteractiveHtmlBom > mHandle
Definition interactivehtmlbom.h:238
void setBoardRotation(const Angle &angle, bool offsetBack) noexcept
Set board rotation.
Definition interactivehtmlbom.cpp:145
Layer
Definition interactivehtmlbom.h:59
Sides
Definition interactivehtmlbom.h:60
void setShowFabrication(bool show) noexcept
Set fabrication visibility.
Definition interactivehtmlbom.cpp:154
void addDrawing(DrawingKind kind, DrawingLayer layer, const Path &path, const UnsignedLength &width, bool filled) noexcept
Add a PCB drawing.
Definition interactivehtmlbom.cpp:170
void addBomRow(Sides sides, const QList< std::pair< QString, std::size_t > > &parts) noexcept
Add a BOM row.
Definition interactivehtmlbom.cpp:324
InteractiveHtmlBom & operator=(const InteractiveHtmlBom &rhs)=delete
DrawingLayer
Definition interactivehtmlbom.h:62
InteractiveHtmlBom()=delete
void addVia(QSet< Layer > layers, const Point &pos, const PositiveLength &diameter, const PositiveLength &drillDiameter, const std::optional< QString > &netName) noexcept
Add via.
Definition interactivehtmlbom.cpp:212
DrawingKind
Definition interactivehtmlbom.h:61
void setShowPads(bool show) noexcept
Set pads visibility.
Definition interactivehtmlbom.cpp:158
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition path.h:57
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
Definition occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
Definition interactivehtmlbom.h:69
QList< PadGeometry > geometries
Definition interactivehtmlbom.h:75
bool onBottom
Definition interactivehtmlbom.h:71
PadHoleList holes
Definition interactivehtmlbom.h:76
Angle rotation
Definition interactivehtmlbom.h:73
std::optional< QString > netName
Definition interactivehtmlbom.h:77
bool onTop
Definition interactivehtmlbom.h:70
bool mirrorGeometry
Definition interactivehtmlbom.h:74
Point position
Definition interactivehtmlbom.h:72
bool pin1
Definition interactivehtmlbom.h:78
Scoped pointer for Rust objects.
Definition rusthandle.h:41