Horizon
3rd_party
router
include
geometry
shape_file_io.h
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright (C) 2015 CERN
5
* @author Tomasz Wlostowski <tomasz.wlostowski@cern.ch>
6
*
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 2
10
* of the License, or (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, you may find one here:
19
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20
* or you may search the http://www.gnu.org website for the version 2 license,
21
* or you may write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23
*/
24
25
26
#ifndef __SHAPE_FILE_IO_H
27
#define __SHAPE_FILE_IO_H
28
29
#include <cstdio>
30
31
class
SHAPE
;
32
38
class
SHAPE_FILE_IO
39
{
40
public
:
41
enum
IO_MODE
42
{
43
IOM_READ = 0,
44
IOM_APPEND,
45
IOM_WRITE
46
};
47
48
SHAPE_FILE_IO
();
49
SHAPE_FILE_IO
(
const
std::string& aFilename, IO_MODE aMode = IOM_READ );
50
~
SHAPE_FILE_IO
();
51
52
void
BeginGroup(
const
std::string& aName =
"<noname>"
);
53
void
EndGroup();
54
55
SHAPE
* Read();
56
57
void
Write(
const
SHAPE
* aShape,
const
std::string& aName =
"<noname>"
);
58
59
void
Write(
const
SHAPE
& aShape,
const
std::string aName =
"<noname>"
)
60
{
61
Write( &aShape, aName );
62
}
63
64
private
:
65
FILE* m_file;
66
bool
m_groupActive;
67
IO_MODE m_mode;
68
};
69
70
#endif
SHAPE
Class SHAPE.
Definition:
shape.h:58
SHAPE_FILE_IO
Class SHAPE_FILE_IO.
Definition:
shape_file_io.h:38
Generated by
1.8.16