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