20#ifndef LIBREPCB_CORE_HOLE_H
21#define LIBREPCB_CORE_HOLE_H
26#include "../geometry/path.h"
27#include "../serialization/serializableobjectlist.h"
28#include "../types/length.h"
29#include "../types/maskconfig.h"
46 Q_DECLARE_TR_FUNCTIONS(
Hole)
75 bool isSlot() const noexcept;
95 bool operator==(const
Hole& rhs) const noexcept;
96 bool operator!=(const
Hole& rhs) const noexcept {
return !(*
this == rhs); }
111 static constexpr const char*
tagname =
"hole";
The Hole class.
Definition hole.h:45
bool isSlot() const noexcept
Definition hole.cpp:72
bool isMultiSegmentSlot() const noexcept
Definition hole.cpp:76
const MaskConfig & getStopMaskConfig() const noexcept
Definition hole.h:72
~Hole() noexcept
Definition hole.cpp:65
bool setStopMaskConfig(const MaskConfig &config) noexcept
Definition hole.cpp:120
Uuid mUuid
Definition hole.h:100
Event
Definition hole.h:50
NonEmptyPath mPath
Definition hole.h:102
bool setPath(const NonEmptyPath &path) noexcept
Definition hole.cpp:110
Signal< Hole, Event > onEdited
Definition hole.h:56
Hole & operator=(const Hole &rhs) noexcept
Definition hole.cpp:154
const PositiveLength & getDiameter() const noexcept
Definition hole.h:70
MaskConfig mStopMaskConfig
Definition hole.h:103
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition hole.cpp:134
const Uuid & getUuid() const noexcept
Definition hole.h:69
bool isCurvedSlot() const noexcept
Definition hole.cpp:80
std::optional< Length > getPreviewStopMaskOffset() const noexcept
Definition hole.cpp:84
PositiveLength mDiameter
Definition hole.h:101
bool setDiameter(const PositiveLength &diameter) noexcept
Definition hole.cpp:100
const NonEmptyPath & getPath() const noexcept
Definition hole.h:71
Slot< Hole, Event > OnEditedSlot
Definition hole.h:57
The Length class is used to represent a length (for example 12.75 millimeters)
Definition length.h:82
The MaskConfig class defines how to add automatic stop mask or solder paste.
Definition maskconfig.h:45
The SExpression class.
Definition sexpression.h:69
The Signal class is used to emit signals on non-QObject derived classes.
Definition signalslot.h:65
The Slot class is used to receive signals from non-QObject derived classes.
Definition signalslot.h:170
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
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
static constexpr const char * tagname
Definition hole.h:111