QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RDxfExporter Class Reference

Exporter for the DXF format, based on dxflib. More...

#include <RDxfExporter.h>

Inheritance diagram for RDxfExporter:
RFileExporter RExporter

List of all members.

Public Member Functions

virtual void exportArcSegment (const RArc &arc)
virtual bool exportFile (const QString &fileName, const QString &nameFilter, bool setFileName=true)
 Must be implemented by file exporters to export the document into the given file.
virtual void exportLineSegment (const RLine &line, double angle=RNANDOUBLE)
 Exports a line segment (a line without pattern).
virtual void exportPoint (const RPoint &point)
 Exports a point with the current attributes.
virtual void exportRay (const RRay &ray)
 Exports an infinite ray.
virtual void exportTriangle (const RTriangle &triangle)
 Exports a triangle with the current attributes.
virtual void exportXLine (const RXLine &xLine)
 Exports an infinite line.
virtual QString getCorrectedFileName (const QString &fileName, const QString &nameFilter)
 Must be implemented by file exporters to correct the given file name if necessary (add extension based on chosen name filter).
QString getStyleName (const RTextBasedEntity &t)
DL_TextData getTextData (const RTextBasedData &t, const QString &styleName)
 RDxfExporter (RDocument &document, RMessageHandler *messageHandler=NULL, RProgressHandler *progressHandler=NULL)
 Copyright (c) 2011-2013 by Andrew Mustun.
void writeArc (const RArcEntity &a)
 Writes the given circle entity to the file.
void writeAttribute (const RAttributeEntity &t)
void writeBlock (const RBlock &b)
void writeBlockReference (const RBlockReferenceEntity &br)
 Writes the given block reference entity to the file.
void writeCircle (const RCircleEntity &c)
 Writes the given circle entity to the file.
void writeDimension (const RDimensionEntity &d)
 Writes the given dimension entity to the file.
void writeEllipse (const REllipseEntity &el)
 Writes the given ellipse entity to the file.
void writeEntity (REntity::Id id)
void writeEntity (const REntity &e)
 Writes the given entity to the DXF file.
void writeHatch (const RHatchEntity &h)
 Writes the given hatch entity to the file.
void writeImage (const RImageEntity &img)
 Writes the given image entity to the file.
void writeImageDef (const RImageEntity &img)
 Writes an IMAGEDEF object into an OBJECT section.
void writeLayer (const RLayer &l)
void writeLeader (const RLeaderEntity &l)
 Writes the given leader entity to the file.
void writeLine (const RLineEntity &l)
 Writes the given Line( entity to the file.
void writeLinetype (const RLinetypePattern &lt)
void writeMText (const RTextEntity &t)
void writePoint (const RPointEntity &p)
 Writes the given Point entity to the file.
void writePolyline (const RPolylineEntity &pl)
 Writes the given polyline entity to the file.
void writePolyline (const RPolyline &pl)
void writeSimpleText (const RTextEntity &t)
void writeSolid (const RSolidEntity &sol)
 Writes the given solid entity to the file.
void writeSpline (const RSplineEntity &sp)
 Writes the given spline entity to the file.
void writeText (const RTextEntity &t)
 Writes the given text entity to the file.
void writeTrace (const RTraceEntity &t)
 Writes the given trace entity to the file.
void writeVariables ()
 Writes all known variable settings to the DXF file.
virtual ~RDxfExporter ()
- Public Member Functions inherited from RFileExporter
 RFileExporter ()
 Copyright (c) 2011-2013 by Andrew Mustun.
 RFileExporter (RDocument &document, RMessageHandler *messageHandler=NULL, RProgressHandler *progressHandler=NULL)
virtual ~RFileExporter ()
- Public Member Functions inherited from RExporter
virtual void endEntity ()
virtual void endExport ()
 Called at the end of a completed export.
virtual void exportArc (const RArc &arc, double offset=RNANDOUBLE)
virtual void exportBlock (RBlock &)
virtual void exportBlock (RBlock::Id blockId)
virtual void exportBlocks ()
virtual void exportBoundingBoxPaths (const QList< RPainterPath > &paths)
virtual void exportBox (const RBox &box)
 Exports the surfaces of the given box.
virtual void exportCircle (const RCircle &circle)
 Exports a circle with the current attributes.
virtual void exportCurrentEntity (bool preview=false, bool forceSelected=false)
 The default implementation calls the REntity::exportEntity() function of the entity.
virtual bool exportDocument ()
 Exports the visual representation of all objects (including entities) of the document.
virtual void exportDocumentSetting (const QString &, const QVariant &)
virtual bool exportDocumentSettings ()
virtual void exportEllipse (const REllipse &ellipse, double offset=RNANDOUBLE)
 Exports an ellipse with the current attributes.
virtual void exportEntities (bool allBlocks=true, bool undone=false)
virtual void exportEntities (const RBox &box)
 Exports the visual representation of all entities that are completely or partly inside the given area.
virtual void exportEntities (QSet< REntity::Id > &entityIds, bool allBlocks=true)
 Calls exportEntity() for all given entities.
virtual void exportEntity (REntity &e, bool preview=false, bool allBlocks=true, bool forceSelected=false)
 Sets the current entity to the given entity and calls exportEntity().
virtual void exportEntity (REntity::Id entityId, bool allBlocks=true, bool forceSelected=false)
 Calls exportEntity(REntity*) for the entity with the given ID.
virtual void exportExplodable (const RExplodable &explodable, double offset=RNANDOUBLE)
virtual void exportImage (const RImageData &image)
virtual void exportLayer (RLayer &)
virtual void exportLayer (RLayer::Id layerId)
virtual void exportLayers ()
virtual void exportLine (const RLine &line, double offset=RNANDOUBLE)
 Exports a line with the current attributes.
virtual void exportLinetype (RLinetype &)
virtual void exportLinetypes ()
virtual void exportPainterPaths (const QList< RPainterPath > &paths)
virtual void exportPainterPathSource (const RPainterPathSource &pathSource)
virtual void exportPolyline (const RPolyline &polyline, double offset=RNANDOUBLE)
virtual void exportQuad (const RVector &p1, const RVector &p2, const RVector &p3, const RVector &p4)
 Exports a quadrilateral with the current attributes.
virtual void exportRectangle (const RVector &p1, const RVector &p2)
 Exports a rectangle with the current attributes.
virtual void exportShape (QSharedPointer< RShape > shape)
 Exports the given shapes as part of the geometry of the current entity.
virtual void exportShapes (const QList< QSharedPointer< RShape > > &shapes)
 Exports the given shapes as part of the geometry of the current entity.
virtual void exportSpline (const RSpline &spline, double offset=RNANDOUBLE)
virtual void exportVerticalQuad (const RVector &p1, const RVector &p2, double height)
 Exports a vertical quadrilateral with the two given base points and the given height.
virtual void exportView (RView &)
virtual void exportView (RView::Id viewId)
virtual void exportViews ()
virtual REntitygetBlockRefOrEntity ()
virtual QBrush getBrush (const RPainterPath &path)
virtual QBrush getBrush ()
RDocumentgetDocument () const
 
bool getDraftMode () const
virtual REntitygetEntity ()
 Sets the current export color for entities.
virtual const REntitygetEntity () const
QStack< REntity * > getEntityStack ()
QString getErrorMessage () const
RLinetypePattern getLinetypePattern ()
virtual double getPatternFactor ()
double getPatternOffset (double length, const RLinetypePattern &pattern)
double getPatternOffset (double length, const RLinetypePattern &pattern, int index, double *gap=NULL)
virtual QPen getPen (const RPainterPath &path)
virtual QPen getPen ()
double getPixelSizeHint () const
RS::ProjectionRenderingHint getProjectionRenderingHint ()
bool getScreenBasedLinetypes () const
bool getTwoColorSelectedMode () const
virtual bool isEntitySelected ()
bool isVisualExporter () const
 RExporter ()
 RExporter (RDocument &document, RMessageHandler *messageHandler=NULL, RProgressHandler *progressHandler=NULL)
void setBlockSource (RDocument *bs)
virtual void setBrush (const QBrush &brush)
virtual void setBrushStyle (Qt::BrushStyle brushStyle)
virtual void setColor (float r, float g, float b, float a=1.0f)
 Sets the current export color in RGB and Alpha.
virtual void setColor (const RColor &color)
virtual void setDashPattern (const QVector< qreal > &dashes)
void setDraftMode (bool on)
virtual void setEntityAttributes (bool forceSelected=false)
void setLayerSource (RDocument *ls)
virtual void setLinetypeId (RLinetype::Id ltId)
virtual void setLinetypePattern (const RLinetypePattern &ltPattern)
virtual void setLineweight (RLineweight::Lineweight weight)
virtual void setPen (const QPen &pen)
 Sets the current pen (currentPen).
void setPixelSizeHint (double v)
void setProjectionRenderingHint (RS::ProjectionRenderingHint p)
 Sets a rendering hint for the current projection used for exports.
void setScreenBasedLinetypes (bool on)
virtual void setStyle (Qt::PenStyle penStyle)
void setTwoColorSelectedMode (bool on)
void setVisualExporter (bool on)
virtual void startEntity (bool)
virtual void startExport ()
 Called to start a new, complete export.
void toggleDraftMode ()
void toggleScreenBasedLinetypes ()
virtual void unexportEntity (REntity::Id entityId)
 This is called for entities for which an export was requested but which cannot be instantiated because they either do not exist (anymore) in the DB or they are currently undone.
virtual ~RExporter ()

Static Public Member Functions

static QByteArray escapeUnicode (const QString &str)

Private Member Functions

DL_Attributes getEntityAttributes (const REntity &entity)
DL_StyleData getStyle (const RTextBasedEntity &entity)

Private Attributes

DL_Attributes attributes
DL_WriterAdw
DL_Dxf dxf
QMap< int, int > imageHandles
int textStyleCounter
QMap< int, QString > textStyles

Detailed Description

Exporter for the DXF format, based on dxflib.


Constructor & Destructor Documentation

RDxfExporter::RDxfExporter ( RDocument document,
RMessageHandler messageHandler = NULL,
RProgressHandler progressHandler = NULL 
)

Copyright (c) 2011-2013 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

virtual RDxfExporter::~RDxfExporter ( )
inlinevirtual

Member Function Documentation

QByteArray RDxfExporter::escapeUnicode ( const QString &  str)
static
virtual void RDxfExporter::exportArcSegment ( const RArc arc)
inlinevirtual

Reimplemented from RExporter.

bool RDxfExporter::exportFile ( const QString &  fileName,
const QString &  nameFilter,
bool  setFileName = true 
)
virtual

Must be implemented by file exporters to export the document into the given file.

Implements RFileExporter.

virtual void RDxfExporter::exportLineSegment ( const RLine line,
double  angle = RNANDOUBLE 
)
inlinevirtual

Exports a line segment (a line without pattern).

This is called from the standard implementation of exportLine for every dash in a dashed line.

Implements RExporter.

virtual void RDxfExporter::exportPoint ( const RPoint point)
inlinevirtual

Exports a point with the current attributes.

Implements RExporter.

virtual void RDxfExporter::exportRay ( const RRay ray)
inlinevirtual

Exports an infinite ray.

Used for rays.

Implements RExporter.

virtual void RDxfExporter::exportTriangle ( const RTriangle triangle)
inlinevirtual

Exports a triangle with the current attributes.

Implements RExporter.

virtual void RDxfExporter::exportXLine ( const RXLine xLine)
inlinevirtual

Exports an infinite line.

Used for xlines (construction lines).

Implements RExporter.

QString RDxfExporter::getCorrectedFileName ( const QString &  fileName,
const QString &  nameFilter 
)
virtual

Must be implemented by file exporters to correct the given file name if necessary (add extension based on chosen name filter).

Implements RFileExporter.

DL_Attributes RDxfExporter::getEntityAttributes ( const REntity entity)
private
Returns:
the entities attributes as a DL_Attributes object.
DL_StyleData RDxfExporter::getStyle ( const RTextBasedEntity entity)
private
QString RDxfExporter::getStyleName ( const RTextBasedEntity t)
DL_TextData RDxfExporter::getTextData ( const RTextBasedData t,
const QString &  styleName 
)
void RDxfExporter::writeArc ( const RArcEntity a)

Writes the given circle entity to the file.

void RDxfExporter::writeAttribute ( const RAttributeEntity t)
void RDxfExporter::writeBlock ( const RBlock b)
void RDxfExporter::writeBlockReference ( const RBlockReferenceEntity br)

Writes the given block reference entity to the file.

void RDxfExporter::writeCircle ( const RCircleEntity c)

Writes the given circle entity to the file.

void RDxfExporter::writeDimension ( const RDimensionEntity d)

Writes the given dimension entity to the file.

void RDxfExporter::writeEllipse ( const REllipseEntity el)

Writes the given ellipse entity to the file.

void RDxfExporter::writeEntity ( REntity::Id  id)
void RDxfExporter::writeEntity ( const REntity e)

Writes the given entity to the DXF file.

void RDxfExporter::writeHatch ( const RHatchEntity h)

Writes the given hatch entity to the file.

void RDxfExporter::writeImage ( const RImageEntity img)

Writes the given image entity to the file.

void RDxfExporter::writeImageDef ( const RImageEntity img)

Writes an IMAGEDEF object into an OBJECT section.

void RDxfExporter::writeLayer ( const RLayer l)
void RDxfExporter::writeLeader ( const RLeaderEntity l)

Writes the given leader entity to the file.

void RDxfExporter::writeLine ( const RLineEntity l)

Writes the given Line( entity to the file.

void RDxfExporter::writeLinetype ( const RLinetypePattern lt)
void RDxfExporter::writeMText ( const RTextEntity t)
void RDxfExporter::writePoint ( const RPointEntity p)

Writes the given Point entity to the file.

void RDxfExporter::writePolyline ( const RPolylineEntity pl)

Writes the given polyline entity to the file.

void RDxfExporter::writePolyline ( const RPolyline pl)
void RDxfExporter::writeSimpleText ( const RTextEntity t)
void RDxfExporter::writeSolid ( const RSolidEntity sol)

Writes the given solid entity to the file.

void RDxfExporter::writeSpline ( const RSplineEntity sp)

Writes the given spline entity to the file.

void RDxfExporter::writeText ( const RTextEntity t)

Writes the given text entity to the file.

void RDxfExporter::writeTrace ( const RTraceEntity t)

Writes the given trace entity to the file.

void RDxfExporter::writeVariables ( )

Writes all known variable settings to the DXF file.


Member Data Documentation

DL_Attributes RDxfExporter::attributes
private
DL_WriterA* RDxfExporter::dw
private
DL_Dxf RDxfExporter::dxf
private
QMap<int, int> RDxfExporter::imageHandles
private
int RDxfExporter::textStyleCounter
private
QMap<int, QString> RDxfExporter::textStyles
private

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