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)
54 StopMaskConfigChanged,
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
tl::optional< Length > getPreviewStopMaskOffset() const noexcept
Definition: hole.cpp:84
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
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:83
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 Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.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
static constexpr const char * tagname
Definition: hole.h:111