QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
dl_writer_ascii.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2011 RibbonSoft. 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 may be distributed and/or modified under the terms of the
8 ** GNU General Public License version 2 as published by the Free Software
9 ** Foundation and appearing in the file LICENSE.GPL included in the
10 ** packaging of this file.
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 #if _MSC_VER > 1000
30 #pragma once
31 #endif // _MSC_VER > 1000
32 
33 #include "dl_writer.h"
34 #include <fstream>
35 #include <string>
36 using std::string;
37 
48 class DL_WriterA : public DL_Writer {
49 public:
51  : DL_Writer(version), m_ofile(fname) {}
52  virtual ~DL_WriterA() {}
53 
54  bool openFailed() const;
55  void close() const;
56  void dxfReal(int gc, double value) const;
57  void dxfInt(int gc, int value) const;
58  void dxfHex(int gc, int value) const;
59  void dxfString(int gc, const char* value) const;
60  void dxfString(int gc, const string& value) const;
61 
62  static void strReplace(char* str, char src, char dest);
63 
64 private:
68  mutable std::ofstream m_ofile;
69 
70 };
71 
72 #endif
73