LibrePCB Developers Documentation
SceneData3D Class Referencefinal

3D scene data representing a board with package models More...

#include <scenedata3d.h>

+ Collaboration diagram for SceneData3D:

Classes

struct  AreaData
 
struct  CircleData
 
struct  DeviceData
 
struct  HoleData
 
struct  PolygonData
 
struct  StrokeData
 
struct  ViaData
 

Public Member Functions

 SceneData3D (std::shared_ptr< FileSystem > fs=nullptr, bool autoBoardOutline=false) noexcept
 
 SceneData3D (const SceneData3D &other)=delete
 
 ~SceneData3D () noexcept
 
const std::shared_ptr< FileSystem > & getFileSystem () const noexcept
 
const PositiveLengthgetThickness () const noexcept
 
const PcbColorgetSolderResist () const noexcept
 
const PcbColorgetSilkscreen () const noexcept
 
const QSet< const Layer * > & getSilkscreenLayersTop () const noexcept
 
const QSet< const Layer * > & getSilkscreenLayersBot () const noexcept
 
bool getAutoBoardOutline () const noexcept
 
qreal getStepAlphaValue () const noexcept
 
const QString & getProjectName () const noexcept
 
const QList< DeviceData > & getDevices () const noexcept
 
const QList< PolygonData > & getPolygons () const noexcept
 
const QList< CircleData > & getCircles () const noexcept
 
const QList< StrokeData > & getStrokes () const noexcept
 
const QList< ViaData > & getVias () const noexcept
 
const QList< HoleData > & getHoles () const noexcept
 
const QList< AreaData > & getAreas () const noexcept
 
void setThickness (const PositiveLength &value) noexcept
 
void setSolderResist (const PcbColor *value) noexcept
 
void setSilkscreen (const PcbColor *value) noexcept
 
void setSilkscreenLayersTop (const QSet< const Layer *> &value) noexcept
 
void setSilkscreenLayersBot (const QSet< const Layer *> &value) noexcept
 
void setAutoBoardOutline (bool value) noexcept
 
void setStepAlphaValue (qreal value) noexcept
 
void setProjectName (const QString &value) noexcept
 
void addDevice (const Uuid &uuid, const Transform &transform, const QString &stepFile, const Point3D &stepPosition, const Angle3D &stepRotation, const QString &name) noexcept
 
void addPolygon (const Polygon &polygon, const Transform &transform) noexcept
 
void addCircle (const Circle &circle, const Transform &transform) noexcept
 
void addStroke (const Layer &layer, const QVector< Path > &paths, const Length &width, const Transform &transform) noexcept
 
void addVia (const Point &position, const PositiveLength &size, const PositiveLength &drillDiameter, const Layer &startLayer, const Layer &endLayer, const tl::optional< PositiveLength > &stopMaskDiameterTop, const tl::optional< PositiveLength > &stopMaskDiameterBottom) noexcept
 
void addHole (const NonEmptyPath &path, const PositiveLength &diameter, bool plated, bool via, const Transform &transform) noexcept
 
void addArea (const Layer &layer, const Path &outline, const Transform &transform) noexcept
 
void preprocess (bool center, bool sortDevices=false, Length *width=nullptr, Length *height=nullptr)
 
SceneData3Doperator= (const SceneData3D &rhs)=delete
 

Private Attributes

std::shared_ptr< FileSystemmFileSystem
 
PositiveLength mThickness
 
const PcbColormSolderResist
 
const PcbColormSilkscreen
 
QSet< const Layer * > mSilkscreenLayersTop
 
QSet< const Layer * > mSilkscreenLayersBot
 
bool mAutoBoardOutline
 
qreal mStepAlphaValue
 
QString mProjectName
 
QList< DeviceDatamDevices
 
QList< PolygonDatamPolygons
 Cleared by preprocess(). More...
 
QList< CircleDatamCircles
 Cleared by preprocess(). More...
 
QList< StrokeDatamStrokes
 Cleared by preprocess(). More...
 
QList< ViaDatamVias
 
QList< HoleDatamHoles
 Cleared by preprocess(). More...
 
QList< AreaDatamAreas
 

Detailed Description

3D scene data representing a board with package models

Constructor & Destructor Documentation

◆ SceneData3D() [1/2]

SceneData3D ( std::shared_ptr< FileSystem fs = nullptr,
bool  autoBoardOutline = false 
)
explicitnoexcept
+ Here is the call graph for this function:

◆ SceneData3D() [2/2]

SceneData3D ( const SceneData3D other)
delete

◆ ~SceneData3D()

~SceneData3D ( )
noexcept

Member Function Documentation

◆ getFileSystem()

const std::shared_ptr<FileSystem>& getFileSystem ( ) const
inlinenoexcept

◆ getThickness()

const PositiveLength& getThickness ( ) const
inlinenoexcept

◆ getSolderResist()

const PcbColor* getSolderResist ( ) const
inlinenoexcept

◆ getSilkscreen()

const PcbColor* getSilkscreen ( ) const
inlinenoexcept

◆ getSilkscreenLayersTop()

const QSet<const Layer*>& getSilkscreenLayersTop ( ) const
inlinenoexcept

◆ getSilkscreenLayersBot()

const QSet<const Layer*>& getSilkscreenLayersBot ( ) const
inlinenoexcept

◆ getAutoBoardOutline()

bool getAutoBoardOutline ( ) const
inlinenoexcept

◆ getStepAlphaValue()

qreal getStepAlphaValue ( ) const
inlinenoexcept

◆ getProjectName()

const QString& getProjectName ( ) const
inlinenoexcept

◆ getDevices()

const QList<DeviceData>& getDevices ( ) const
inlinenoexcept

◆ getPolygons()

const QList<PolygonData>& getPolygons ( ) const
inlinenoexcept

◆ getCircles()

const QList<CircleData>& getCircles ( ) const
inlinenoexcept

◆ getStrokes()

const QList<StrokeData>& getStrokes ( ) const
inlinenoexcept

◆ getVias()

const QList<ViaData>& getVias ( ) const
inlinenoexcept

◆ getHoles()

const QList<HoleData>& getHoles ( ) const
inlinenoexcept

◆ getAreas()

const QList<AreaData>& getAreas ( ) const
inlinenoexcept

◆ setThickness()

void setThickness ( const PositiveLength value)
inlinenoexcept

◆ setSolderResist()

void setSolderResist ( const PcbColor value)
inlinenoexcept

◆ setSilkscreen()

void setSilkscreen ( const PcbColor value)
inlinenoexcept

◆ setSilkscreenLayersTop()

void setSilkscreenLayersTop ( const QSet< const Layer *> &  value)
inlinenoexcept

◆ setSilkscreenLayersBot()

void setSilkscreenLayersBot ( const QSet< const Layer *> &  value)
inlinenoexcept

◆ setAutoBoardOutline()

void setAutoBoardOutline ( bool  value)
inlinenoexcept

◆ setStepAlphaValue()

void setStepAlphaValue ( qreal  value)
inlinenoexcept

◆ setProjectName()

void setProjectName ( const QString &  value)
inlinenoexcept
+ Here is the call graph for this function:

◆ addDevice()

void addDevice ( const Uuid uuid,
const Transform transform,
const QString &  stepFile,
const Point3D stepPosition,
const Angle3D stepRotation,
const QString &  name 
)
noexcept
+ Here is the caller graph for this function:

◆ addPolygon()

void addPolygon ( const Polygon polygon,
const Transform transform 
)
noexcept
+ Here is the caller graph for this function:

◆ addCircle()

void addCircle ( const Circle circle,
const Transform transform 
)
noexcept
+ Here is the caller graph for this function:

◆ addStroke()

void addStroke ( const Layer layer,
const QVector< Path > &  paths,
const Length width,
const Transform transform 
)
noexcept
+ Here is the caller graph for this function:

◆ addVia()

void addVia ( const Point position,
const PositiveLength size,
const PositiveLength drillDiameter,
const Layer startLayer,
const Layer endLayer,
const tl::optional< PositiveLength > &  stopMaskDiameterTop,
const tl::optional< PositiveLength > &  stopMaskDiameterBottom 
)
noexcept
+ Here is the caller graph for this function:

◆ addHole()

void addHole ( const NonEmptyPath path,
const PositiveLength diameter,
bool  plated,
bool  via,
const Transform transform 
)
noexcept
+ Here is the caller graph for this function:

◆ addArea()

void addArea ( const Layer layer,
const Path outline,
const Transform transform 
)
noexcept
+ Here is the caller graph for this function:

◆ preprocess()

void preprocess ( bool  center,
bool  sortDevices = false,
Length width = nullptr,
Length height = nullptr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator=()

SceneData3D& operator= ( const SceneData3D rhs)
delete
+ Here is the caller graph for this function:

Member Data Documentation

◆ mFileSystem

std::shared_ptr<FileSystem> mFileSystem
private

◆ mThickness

PositiveLength mThickness
private

◆ mSolderResist

const PcbColor* mSolderResist
private

◆ mSilkscreen

const PcbColor* mSilkscreen
private

◆ mSilkscreenLayersTop

QSet<const Layer*> mSilkscreenLayersTop
private

◆ mSilkscreenLayersBot

QSet<const Layer*> mSilkscreenLayersBot
private

◆ mAutoBoardOutline

bool mAutoBoardOutline
private

◆ mStepAlphaValue

qreal mStepAlphaValue
private

◆ mProjectName

QString mProjectName
private

◆ mDevices

QList<DeviceData> mDevices
private

◆ mPolygons

QList<PolygonData> mPolygons
private

Cleared by preprocess().

◆ mCircles

QList<CircleData> mCircles
private

Cleared by preprocess().

◆ mStrokes

QList<StrokeData> mStrokes
private

Cleared by preprocess().

◆ mVias

QList<ViaData> mVias
private

◆ mHoles

QList<HoleData> mHoles
private

Cleared by preprocess().

◆ mAreas

QList<AreaData> mAreas
private

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