LibrePCB Developers Documentation
AirWiresBuilder Class Referencefinal

The AirWiresBuilder class. More...

#include <airwiresbuilder.h>

+ Collaboration diagram for AirWiresBuilder:

Public Types

typedef std::pair< int, int > AirWire
 
typedef QVector< AirWireAirWires
 

Public Member Functions

 AirWiresBuilder () noexcept
 Default constructor. More...
 
 AirWiresBuilder (const AirWiresBuilder &other)=delete
 Copy constructor. More...
 
 ~AirWiresBuilder () noexcept
 
int addPoint (const Point &p) noexcept
 Add a new point. More...
 
void addEdge (int p1, int p2) noexcept
 Add an edge between two points. More...
 
AirWires buildAirWires () noexcept
 Build the air wires. More...
 
AirWiresBuilderoperator= (const AirWiresBuilder &rhs)=delete
 

Private Attributes

QScopedPointer< AirWiresBuilderImplmImpl
 

Detailed Description

The AirWiresBuilder class.

Member Typedef Documentation

◆ AirWire

typedef std::pair<int, int> AirWire

◆ AirWires

typedef QVector<AirWire> AirWires

Constructor & Destructor Documentation

◆ AirWiresBuilder() [1/2]

AirWiresBuilder ( )
noexcept

Default constructor.

◆ AirWiresBuilder() [2/2]

AirWiresBuilder ( const AirWiresBuilder other)
delete

Copy constructor.

Parameters
otherAnother librepcb::AirWiresBuilder object

◆ ~AirWiresBuilder()

~AirWiresBuilder ( )
noexcept

Destructor

Member Function Documentation

◆ addPoint()

int addPoint ( const Point p)
noexcept

Add a new point.

Parameters
pThe point to add
Returns
The ID of the added point
+ Here is the caller graph for this function:

◆ addEdge()

void addEdge ( int  p1,
int  p2 
)
noexcept

Add an edge between two points.

Parameters
p1ID of first point
p2ID of second point
+ Here is the caller graph for this function:

◆ buildAirWires()

AirWiresBuilder::AirWires buildAirWires ( )
noexcept

Build the air wires.

Returns
IDs of air wires
+ Here is the caller graph for this function:

◆ operator=()

AirWiresBuilder& operator= ( const AirWiresBuilder rhs)
delete

Member Data Documentation

◆ mImpl

QScopedPointer<AirWiresBuilderImpl> mImpl
private

The actual implementation is in the *.cpp file to make the dependency to the delaunay triangulation library a private implementation detail. So all other libraries do not need this dependency.


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