LibrePCB Developers Documentation
BI_FootprintPad Class Referencefinal

The BI_FootprintPad class. More...

#include <bi_footprintpad.h>

+ Inheritance diagram for BI_FootprintPad:
+ Collaboration diagram for BI_FootprintPad:

Public Types

enum class  Event
 
typedef Slot< BI_FootprintPad, EventOnEditedSlot
 

Public Member Functions

 BI_FootprintPad ()=delete
 
 BI_FootprintPad (const BI_FootprintPad &other)=delete
 
 BI_FootprintPad (BI_Device &device, const Uuid &padUuid)
 
 ~BI_FootprintPad ()
 
const PointgetPosition () const noexcept override
 Get the absolute position of the pad (global scene coordinates) More...
 
const AnglegetRotation () const noexcept
 Get the absolute rotation of the pad (global scene coordinates) More...
 
bool getMirrored () const noexcept
 Get the absolute mirror state of the pad (global scene coordinates) More...
 
const QString & getText () const noexcept
 
const UuidgetLibPadUuid () const noexcept
 
BI_DevicegetDevice () const noexcept
 
FootprintPad::ComponentSide getComponentSide () const noexcept
 
const LayergetSmtLayer () const noexcept
 
bool isOnLayer (const Layer &layer) const noexcept
 
const FootprintPadgetLibPad () const noexcept
 
const PackagePadgetLibPackagePad () const noexcept
 
ComponentSignalInstancegetComponentSignalInstance () const noexcept
 
NetSignalgetCompSigInstNetSignal () const noexcept
 
bool isUsed () const noexcept
 
const QHash< const Layer *, QList< PadGeometry > > & getGeometries () const noexcept
 
TraceAnchor toTraceAnchor () const noexcept override
 
void addToBoard () override
 
void removeFromBoard () override
 
void registerNetLine (BI_NetLine &netline) override
 
void unregisterNetLine (BI_NetLine &netline) override
 
const QSet< BI_NetLine * > & getNetLines () const noexcept override
 
BI_FootprintPadoperator= (const BI_FootprintPad &rhs)=delete
 
- Public Member Functions inherited from BI_Base
 BI_Base ()=delete
 
 BI_Base (const BI_Base &other)=delete
 
 BI_Base (Board &board) noexcept
 
virtual ~BI_Base () noexcept
 
ProjectgetProject () const noexcept
 
CircuitgetCircuit () const noexcept
 
BoardgetBoard () const noexcept
 
virtual bool isAddedToBoard () const noexcept
 
virtual void addToBoard ()
 
virtual void removeFromBoard ()
 
BI_Baseoperator= (const BI_Base &rhs)=delete
 
- Public Member Functions inherited from BI_NetLineAnchor
 BI_NetLineAnchor () noexcept=default
 
virtual ~BI_NetLineAnchor () noexcept=default
 
virtual void registerNetLine (BI_NetLine &netline)=0
 
virtual void unregisterNetLine (BI_NetLine &netline)=0
 
virtual const QSet< BI_NetLine * > & getNetLines () const noexcept=0
 
virtual const PointgetPosition () const noexcept=0
 
virtual TraceAnchor toTraceAnchor () const noexcept=0
 
std::vector< PositiveLengthgetLineWidths () const noexcept
 
UnsignedLength getMaxLineWidth () const noexcept
 
UnsignedLength getMedianLineWidth () const noexcept
 
BI_NetSegmentgetNetSegmentOfLines () const noexcept
 

Public Attributes

Signal< BI_FootprintPad, EventonEdited
 

Private Member Functions

void deviceEdited (const BI_Device &obj, BI_Device::Event event) noexcept
 
void netSignalChanged (NetSignal *from, NetSignal *to)
 
void updateTransform () noexcept
 
void updateText () noexcept
 
void updateGeometries () noexcept
 
void invalidatePlanes () noexcept
 
QString getLibraryDeviceName () const noexcept
 
QString getComponentInstanceName () const noexcept
 
QString getPadNameOrUuid () const noexcept
 
QString getNetSignalName () const noexcept
 
UnsignedLength getSizeForMaskOffsetCalculaton () const noexcept
 
QList< PadGeometrygetGeometryOnLayer (const Layer &layer) const noexcept
 
QList< PadGeometrygetGeometryOnCopperLayer (const Layer &layer) const noexcept
 
bool isConnectedOnLayer (const Layer &layer) const noexcept
 

Private Attributes

BI_DevicemDevice
 
const FootprintPadmFootprintPad
 
const PackagePadmPackagePad
 
ComponentSignalInstancemComponentSignalInstance
 
Point mPosition
 
Angle mRotation
 
bool mMirrored
 
QString mText
 
QHash< const Layer *, QList< PadGeometry > > mGeometries
 
QSet< BI_NetLine * > mRegisteredNetLines
 
BI_Device::OnEditedSlot mOnDeviceEditedSlot
 

Additional Inherited Members

- Protected Attributes inherited from BI_Base
BoardmBoard
 

Detailed Description

The BI_FootprintPad class.

Member Typedef Documentation

◆ OnEditedSlot

Member Enumeration Documentation

◆ Event

enum class Event
strong
Enumerator
PositionChanged 
RotationChanged 
MirroredChanged 
TextChanged 
GeometriesChanged 

Constructor & Destructor Documentation

◆ BI_FootprintPad() [1/3]

BI_FootprintPad ( )
delete

◆ BI_FootprintPad() [2/3]

BI_FootprintPad ( const BI_FootprintPad other)
delete

◆ BI_FootprintPad() [3/3]

BI_FootprintPad ( BI_Device device,
const Uuid padUuid 
)
+ Here is the call graph for this function:

◆ ~BI_FootprintPad()

+ Here is the call graph for this function:

Member Function Documentation

◆ getPosition()

const Point & getPosition ( ) const
inlineoverridevirtualnoexcept

Get the absolute position of the pad (global scene coordinates)

Returns
Global pad position

Implements BI_NetLineAnchor.

+ Here is the caller graph for this function:

◆ getRotation()

const Angle & getRotation ( ) const
inlinenoexcept

Get the absolute rotation of the pad (global scene coordinates)

Returns
Global pad rotation
+ Here is the caller graph for this function:

◆ getMirrored()

bool getMirrored ( ) const
inlinenoexcept

Get the absolute mirror state of the pad (global scene coordinates)

Returns
Global pad mirror state
+ Here is the caller graph for this function:

◆ getText()

const QString & getText ( ) const
inlinenoexcept

◆ getLibPadUuid()

const Uuid & getLibPadUuid ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDevice()

BI_Device & getDevice ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getComponentSide()

FootprintPad::ComponentSide getComponentSide ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSmtLayer()

const Layer & getSmtLayer ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isOnLayer()

bool isOnLayer ( const Layer layer) const
noexcept
+ Here is the caller graph for this function:

◆ getLibPad()

const FootprintPad & getLibPad ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getLibPackagePad()

const PackagePad * getLibPackagePad ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getComponentSignalInstance()

ComponentSignalInstance * getComponentSignalInstance ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getCompSigInstNetSignal()

NetSignal * getCompSigInstNetSignal ( ) const
noexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isUsed()

bool isUsed ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ getGeometries()

const QHash< const Layer *, QList< PadGeometry > > & getGeometries ( ) const
inlinenoexcept
+ Here is the caller graph for this function:

◆ toTraceAnchor()

TraceAnchor toTraceAnchor ( ) const
overridevirtualnoexcept

Implements BI_NetLineAnchor.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addToBoard()

void addToBoard ( )
overridevirtual

Reimplemented from BI_Base.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeFromBoard()

void removeFromBoard ( )
overridevirtual

Reimplemented from BI_Base.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ registerNetLine()

void registerNetLine ( BI_NetLine netline)
overridevirtual

Implements BI_NetLineAnchor.

+ Here is the call graph for this function:

◆ unregisterNetLine()

void unregisterNetLine ( BI_NetLine netline)
overridevirtual

Implements BI_NetLineAnchor.

+ Here is the call graph for this function:

◆ getNetLines()

const QSet< BI_NetLine * > & getNetLines ( ) const
inlineoverridevirtualnoexcept

Implements BI_NetLineAnchor.

+ Here is the caller graph for this function:

◆ operator=()

BI_FootprintPad & operator= ( const BI_FootprintPad rhs)
delete

◆ deviceEdited()

void deviceEdited ( const BI_Device obj,
BI_Device::Event  event 
)
privatenoexcept

◆ netSignalChanged()

void netSignalChanged ( NetSignal from,
NetSignal to 
)
private
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateTransform()

void updateTransform ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateText()

void updateText ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateGeometries()

void updateGeometries ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ invalidatePlanes()

void invalidatePlanes ( )
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLibraryDeviceName()

QString getLibraryDeviceName ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getComponentInstanceName()

QString getComponentInstanceName ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPadNameOrUuid()

QString getPadNameOrUuid ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getNetSignalName()

QString getNetSignalName ( ) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSizeForMaskOffsetCalculaton()

UnsignedLength getSizeForMaskOffsetCalculaton ( ) const
privatenoexcept
+ Here is the call graph for this function:

◆ getGeometryOnLayer()

QList< PadGeometry > getGeometryOnLayer ( const Layer layer) const
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGeometryOnCopperLayer()

QList< PadGeometry > getGeometryOnCopperLayer ( const Layer layer) const
privatenoexcept
+ Here is the call graph for this function:

◆ isConnectedOnLayer()

bool isConnectedOnLayer ( const Layer layer) const
privatenoexcept
+ Here is the call graph for this function:

Member Data Documentation

◆ onEdited

◆ mDevice

BI_Device& mDevice
private

◆ mFootprintPad

const FootprintPad* mFootprintPad
private

◆ mPackagePad

const PackagePad* mPackagePad
private

The package pad where this footprint pad is connected to

Attention
This is nullptr if the footprint pad is not connected!

◆ mComponentSignalInstance

ComponentSignalInstance* mComponentSignalInstance
private

The net signal where this footprint pad is connected to

Attention
This is nullptr if the footprint pad is not connected!

◆ mPosition

Point mPosition
private

◆ mRotation

Angle mRotation
private

◆ mMirrored

bool mMirrored
private

◆ mText

QString mText
private

◆ mGeometries

QHash<const Layer*, QList<PadGeometry> > mGeometries
private

◆ mRegisteredNetLines

QSet<BI_NetLine*> mRegisteredNetLines
private

◆ mOnDeviceEditedSlot

BI_Device::OnEditedSlot mOnDeviceEditedSlot
private

The documentation for this class was generated from the following files: