QCAD
Open Source 2D CAD
dl_writer_ascii.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 RibbonSoft, GmbH. All rights reserved.
3 ** Copyright (C) 2001 Robert J. Campbell Jr.
4 **
5 ** This file is part of the dxflib project.
6 **
7 ** This file is free software; you can redistribute it and/or modify
8 ** it under the terms of the GNU General Public License as published by
9 ** the Free Software Foundation; either version 2 of the License, or
10 ** (at your option) any later version.
11 **
12 ** Licensees holding valid dxflib Professional Edition licenses may use
13 ** this file in accordance with the dxflib Commercial License
14 ** Agreement provided with the Software.
15 **
16 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
17 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18 **
19 ** See http://www.ribbonsoft.com for further details.
20 **
21 ** Contact info@ribbonsoft.com if any conditions of this licensing are
22 ** not clear to you.
23 **
24 **********************************************************************/
25 
26 #ifndef DL_WRITER_ASCII_H
27 #define DL_WRITER_ASCII_H
28 
29 #include "dl_global.h"
30 
31 #if _MSC_VER > 1000
32 #pragma once
33 #endif // _MSC_VER > 1000
34 
35 #include "dl_writer.h"
36 #include <fstream>
37 #include <string>
38 
50 public:
52  : DL_Writer(version), m_ofile(fname) {}
53  virtual ~DL_WriterA() {}
54 
55  bool openFailed() const;
56  void close() const;
57  void dxfReal(int gc, double value) const;
58  void dxfInt(int gc, int value) const;
59  void dxfHex(int gc, int value) const;
60  void dxfString(int gc, const char* value) const;
61  void dxfString(int gc, const std::string& value) const;
62 
63  static void strReplace(char* str, char src, char dest);
64 
65 private:
69  mutable std::ofstream m_ofile;
70 
71 };
72 
73 #endif
74 
Implements functions defined in DL_Writer for writing low level DXF constructs to an ASCII format DXF...
Definition: dl_writer_ascii.h:49
void version()
Prints version information.
Definition: autostart.js:28
#define DL_VERSION_2000
Definition: dl_codes.h:378
#define DXFLIB_EXPORT
Definition: dl_global.h:12
virtual void dxfHex(int gc, int value) const =0
Must be overwritten by the implementing class to write an int value (hex) to the file.
Defines interface for writing low level DXF constructs to a file.
Definition: dl_writer.h:57
virtual ~DL_WriterA()
Definition: dl_writer_ascii.h:53
virtual void dxfString(int gc, const char *value) const =0
Must be overwritten by the implementing class to write a string to the file.
DL_WriterA(const char *fname, DL_Codes::version version=DL_VERSION_2000)
Definition: dl_writer_ascii.h:51
virtual void dxfInt(int gc, int value) const =0
Must be overwritten by the implementing class to write an int value to the file.
std::ofstream m_ofile
DXF file to be created.
Definition: dl_writer_ascii.h:69
version
Version numbers for the DXF Format.
Definition: dl_codes.h:96
virtual void dxfReal(int gc, double value) const =0
Must be overwritten by the implementing class to write a real value to the file.