LibrePCB Developers Documentation
StepExport Class Referencefinal

Asynchronously generates an assembly STEP file of a PCB. More...

#include <stepexport.h>

Inherits QObject.

+ Collaboration diagram for StepExport:

Public Types

typedef std::tuple< qreal, qreal, qreal > Color
 
typedef QMap< Color, QVector< QVector3D > > StepModel
 

Signals

void started ()
 
void progressStatus (QString status)
 
void progressPercent (int percent)
 
void succeeded ()
 
void failed (QString errorMsg)
 
void finished ()
 

Public Member Functions

 StepExport (QObject *parent=nullptr) noexcept
 
 StepExport (const StepExport &other)=delete
 
 ~StepExport () noexcept
 
void start (std::shared_ptr< SceneData3D > data, const FilePath &fp, int finishDelayMs=0) noexcept
 Start building scene asynchronously. More...
 
bool isBusy () const noexcept
 Check if there is currently a build in progress. More...
 
QString waitForFinished () noexcept
 Wait (block) until the build is finished. More...
 
void cancel () noexcept
 Cancel the build. More...
 
StepExportoperator= (const StepExport &rhs)=delete
 

Private Member Functions

QString run (std::shared_ptr< SceneData3D > data, FilePath fp, int finishDelayMs) noexcept
 

Private Attributes

QFuture< QString > mFuture
 
bool mAbort
 

Detailed Description

Asynchronously generates an assembly STEP file of a PCB.

Member Typedef Documentation

◆ Color

typedef std::tuple<qreal, qreal, qreal> Color

◆ StepModel

typedef QMap<Color, QVector<QVector3D> > StepModel

Constructor & Destructor Documentation

◆ StepExport() [1/2]

StepExport ( QObject *  parent = nullptr)
noexcept

◆ StepExport() [2/2]

StepExport ( const StepExport other)
delete

◆ ~StepExport()

~StepExport ( )
noexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ start()

void start ( std::shared_ptr< SceneData3D data,
const FilePath fp,
int  finishDelayMs = 0 
)
noexcept

Start building scene asynchronously.

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

◆ isBusy()

bool isBusy ( ) const
noexcept

Check if there is currently a build in progress.

Return values
trueBuild in progress.
falseIdle.

◆ waitForFinished()

QString waitForFinished ( )
noexcept

Wait (block) until the build is finished.

Returns
Error message (null on success).
+ Here is the caller graph for this function:

◆ cancel()

void cancel ( )
noexcept

Cancel the build.

+ Here is the caller graph for this function:

◆ operator=()

StepExport & operator= ( const StepExport rhs)
delete

◆ started

void started ( )
signal

◆ progressStatus

void progressStatus ( QString  status)
signal

◆ progressPercent

void progressPercent ( int  percent)
signal

◆ succeeded

void succeeded ( )
signal

◆ failed

void failed ( QString  errorMsg)
signal

◆ finished

void finished ( )
signal

◆ run()

QString run ( std::shared_ptr< SceneData3D data,
FilePath  fp,
int  finishDelayMs 
)
privatenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ mFuture

QFuture<QString> mFuture
private

◆ mAbort

bool mAbort
private

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