LibrePCB Developers Documentation
DxfReaderImpl Class Reference

Private helper class to break dependency to dxflib. More...

Inherits DL_CreationAdapter.

+ Collaboration diagram for DxfReaderImpl:

Public Member Functions

 DxfReaderImpl (DxfReader &reader)
 
virtual ~DxfReaderImpl ()
 
virtual void addPoint (const DL_PointData &data) override
 
virtual void addLine (const DL_LineData &data) override
 
virtual void addArc (const DL_ArcData &data) override
 
virtual void addCircle (const DL_CircleData &data) override
 
virtual void addEllipse (const DL_EllipseData &data) override
 
virtual void addPolyline (const DL_PolylineData &data) override
 
virtual void addVertex (const DL_VertexData &data) override
 
virtual void endSequence () override
 
virtual void setVariableInt (const std::string &key, int value, int code) override
 

Private Member Functions

Angle angle (double angle) const
 
Angle bulgeToAngle (double bulge) const
 
Point point (double x, double y) const
 
Length length (double value) const
 

Private Attributes

DxfReadermReader
 
qreal mScaleToMm
 
bool mPolylineClosed
 
int mPolylineVertices
 
Path mPolylinePath
 

Detailed Description

Private helper class to break dependency to dxflib.

Having this class in the *.cpp file avoid including dxflib headers in our own header file. This way, dxflib only needs to be in the include path for the librepcb common library, but not for any other library or application.

Or in other words: This way, the dependency to dxflib is an implementation detail which other parts of the code base do not have to care about.

Constructor & Destructor Documentation

◆ DxfReaderImpl()

DxfReaderImpl ( DxfReader reader)
inline

◆ ~DxfReaderImpl()

virtual ~DxfReaderImpl ( )
inlinevirtual

Member Function Documentation

◆ addPoint()

virtual void addPoint ( const DL_PointData &  data)
inlineoverridevirtual
+ Here is the call graph for this function:

◆ addLine()

virtual void addLine ( const DL_LineData &  data)
inlineoverridevirtual
+ Here is the call graph for this function:

◆ addArc()

virtual void addArc ( const DL_ArcData &  data)
inlineoverridevirtual
+ Here is the call graph for this function:

◆ addCircle()

virtual void addCircle ( const DL_CircleData &  data)
inlineoverridevirtual
+ Here is the call graph for this function:

◆ addEllipse()

virtual void addEllipse ( const DL_EllipseData &  data)
inlineoverridevirtual

◆ addPolyline()

virtual void addPolyline ( const DL_PolylineData &  data)
inlineoverridevirtual

◆ addVertex()

virtual void addVertex ( const DL_VertexData &  data)
inlineoverridevirtual
+ Here is the call graph for this function:

◆ endSequence()

virtual void endSequence ( )
inlineoverridevirtual
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setVariableInt()

virtual void setVariableInt ( const std::string &  key,
int  value,
int  code 
)
inlineoverridevirtual

◆ angle()

Angle angle ( double  angle) const
inlineprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bulgeToAngle()

Angle bulgeToAngle ( double  bulge) const
inlineprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ point()

Point point ( double  x,
double  y 
) const
inlineprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ length()

Length length ( double  value) const
inlineprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ mReader

DxfReader& mReader
private

◆ mScaleToMm

qreal mScaleToMm
private

◆ mPolylineClosed

bool mPolylineClosed
private

◆ mPolylineVertices

int mPolylineVertices
private

◆ mPolylinePath

Path mPolylinePath
private

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