20#ifndef LIBREPCB_EDITOR_PACKAGEEDITORSTATE_ADDPADS_H
21#define LIBREPCB_EDITOR_PACKAGEEDITORSTATE_ADDPADS_H
40class CmdFootprintPadEdit;
41class FootprintPadGraphicsItem;
65 virtual
bool entry() noexcept override;
66 virtual
bool exit() noexcept override;
102 if (std::shared_ptr<const PadHole> hole =
104 return hole->getDiameter();
The Angle class is used to represent an angle (for example 12.75 degrees)
Definition angle.h:76
The MaskConfig class defines how to add automatic stop mask or solder paste.
Definition maskconfig.h:45
const PositiveLength & getWidth() const noexcept
Definition pad.h:100
bool getFunctionIsFiducial() const noexcept
Definition pad.cpp:220
const MaskConfig & getStopMaskConfig() const noexcept
Definition pad.h:106
ComponentSide
Definition pad.h:64
const UnsignedLength & getCopperClearance() const noexcept
Definition pad.h:112
Function
Definition pad.h:69
Function getFunction() const noexcept
Definition pad.h:116
const PositiveLength & getHeight() const noexcept
Definition pad.h:101
ComponentSide getComponentSide() const noexcept
Definition pad.h:115
const UnsignedLimitedRatio & getRadius() const noexcept
Definition pad.h:102
Shape getShape() const noexcept
Definition pad.h:99
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
std::shared_ptr< T > value(int index) noexcept
Definition serializableobjectlist.h:254
The PackageEditorState_AddPads class.
Definition packageeditorstate_addpads.h:50
Pad::Shape getShape() const noexcept
Definition packageeditorstate_addpads.h:87
void setFunction(Pad::Function function) noexcept
Definition packageeditorstate_addpads.cpp:326
void setComponentSide(Pad::ComponentSide side) noexcept
Definition packageeditorstate_addpads.cpp:208
void setRadius(const UnsignedLimitedRatio &radius) noexcept
Definition packageeditorstate_addpads.cpp:269
PackageEditorState_AddPads & operator=(const PackageEditorState_AddPads &rhs)=delete
PackageEditorState_AddPads()=delete
void setShape(Pad::Shape shape) noexcept
Definition packageeditorstate_addpads.cpp:220
virtual bool processGraphicsSceneMouseMoved(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:157
std::shared_ptr< FootprintPad > mCurrentPad
Definition packageeditorstate_addpads.h:154
const PositiveLength & getWidth() const noexcept
Definition packageeditorstate_addpads.h:89
void radiusChanged(const UnsignedLimitedRatio &radius)
bool getFunctionIsFiducial() const noexcept
Definition packageeditorstate_addpads.h:121
const MaskConfig & getStopMaskConfig() const noexcept
Definition packageeditorstate_addpads.h:114
std::optional< PositiveLength > getDrillDiameter() const noexcept
Definition packageeditorstate_addpads.h:101
PadType
Definition packageeditorstate_addpads.h:55
Pad::ComponentSide getComponentSide() const noexcept
Definition packageeditorstate_addpads.h:83
virtual bool processGraphicsSceneRightMouseButtonReleased(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:177
bool finishAddPad(const Point &pos) noexcept
Definition packageeditorstate_addpads.cpp:376
const UnsignedLength & getCopperClearance() const noexcept
Definition packageeditorstate_addpads.h:110
void setDrillDiameter(const PositiveLength &diameter) noexcept
Definition packageeditorstate_addpads.cpp:280
FootprintPad mCurrentProperties
Definition packageeditorstate_addpads.h:152
virtual bool processGraphicsSceneLeftMouseButtonPressed(const GraphicsSceneMouseEvent &e) noexcept override
Definition packageeditorstate_addpads.cpp:168
void shapeChanged(Pad::Shape shape)
void setWidth(const PositiveLength &width) noexcept
Definition packageeditorstate_addpads.cpp:231
const PositiveLength & getHeight() const noexcept
Definition packageeditorstate_addpads.h:93
std::shared_ptr< FootprintPadGraphicsItem > mCurrentGraphicsItem
Definition packageeditorstate_addpads.h:155
const PadType mPadType
Definition packageeditorstate_addpads.h:150
void componentSideChanged(Pad::ComponentSide side)
PadType getType() const noexcept
Definition packageeditorstate_addpads.h:78
const std::optional< Uuid > & getPackagePad() const noexcept
Definition packageeditorstate_addpads.h:79
bool abortAddPad() noexcept
Definition packageeditorstate_addpads.cpp:393
void heightChanged(const PositiveLength &height)
virtual bool processRotate(const Angle &rotation) noexcept override
Definition packageeditorstate_addpads.cpp:183
Pad::Function getFunction() const noexcept
Definition packageeditorstate_addpads.h:118
void functionChanged(Pad::Function function)
void stopMaskConfigChanged(const MaskConfig &cfg)
void drillDiameterChanged(const PositiveLength &diameter)
bool startAddPad(const Point &pos) noexcept
Definition packageeditorstate_addpads.cpp:340
void setPackagePad(const std::optional< Uuid > &pad) noexcept
Definition packageeditorstate_addpads.cpp:196
virtual bool exit() noexcept override
Definition packageeditorstate_addpads.cpp:142
void packagePadChanged(const std::optional< Uuid > &pad)
PackageEditorState_AddPads(const PackageEditorState_AddPads &other)=delete
void widthChanged(const PositiveLength &width)
void copperClearanceChanged(const UnsignedLength &clearance)
void selectNextFreePackagePad() noexcept
Definition packageeditorstate_addpads.cpp:408
void applyRecommendedRoundedRectRadius() noexcept
Definition packageeditorstate_addpads.cpp:427
void setHeight(const PositiveLength &height) noexcept
Definition packageeditorstate_addpads.cpp:250
virtual ~PackageEditorState_AddPads() noexcept
Definition packageeditorstate_addpads.cpp:117
std::unique_ptr< CmdFootprintPadEdit > mCurrentEditCmd
Definition packageeditorstate_addpads.h:156
void setCopperClearance(const UnsignedLength &clearance) noexcept
Definition packageeditorstate_addpads.cpp:302
const UnsignedLimitedRatio & getRadius() const noexcept
Definition packageeditorstate_addpads.h:97
virtual bool entry() noexcept override
Definition packageeditorstate_addpads.cpp:125
void setStopMaskConfig(const MaskConfig &cfg) noexcept
Definition packageeditorstate_addpads.cpp:314
The PackageEditorState class is the base class of all package editor FSM states.
Definition packageeditorstate.h:52
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
type_safe::constrained_type< Ratio, UnsignedLimitedRatioConstraint, UnsignedLimitedRatioVerifier > UnsignedLimitedRatio
Definition ratio.h:376
Definition graphicsscene.h:45
Definition packageeditorfsm.h:89