Horizon
src
document
idocument.hpp
1
#pragma once
2
#include "common/common.hpp"
3
4
namespace
horizon {
5
class
IDocument
{
6
public
:
7
virtual
bool
has_object_type(ObjectType ty)
const
= 0;
8
9
virtual
class
Junction
*insert_junction(
const
class
UUID
&uu) = 0;
10
virtual
class
Junction
*get_junction(
const
UUID
&uu) = 0;
11
virtual
void
delete_junction(
const
UUID
&uu) = 0;
12
13
virtual
class
Line
*insert_line(
const
UUID
&uu) = 0;
14
virtual
class
Line
*get_line(
const
UUID
&uu) = 0;
15
virtual
void
delete_line(
const
UUID
&uu) = 0;
16
17
virtual
class
Arc
*insert_arc(
const
UUID
&uu) = 0;
18
virtual
class
Arc
*get_arc(
const
UUID
&uu) = 0;
19
virtual
void
delete_arc(
const
UUID
&uu) = 0;
20
21
virtual
class
Text
*insert_text(
const
UUID
&uu) = 0;
22
virtual
class
Text
*get_text(
const
UUID
&uu) = 0;
23
virtual
void
delete_text(
const
UUID
&uu) = 0;
24
25
virtual
class
Polygon
*insert_polygon(
const
UUID
&uu) = 0;
26
virtual
class
Polygon
*get_polygon(
const
UUID
&uu) = 0;
27
virtual
void
delete_polygon(
const
UUID
&uu) = 0;
28
29
virtual
class
Hole
*insert_hole(
const
UUID
&uu) = 0;
30
virtual
class
Hole
*get_hole(
const
UUID
&uu) = 0;
31
virtual
void
delete_hole(
const
UUID
&uu) = 0;
32
33
virtual
class
Dimension
*insert_dimension(
const
UUID
&uu) = 0;
34
virtual
class
Dimension
*get_dimension(
const
UUID
&uu) = 0;
35
virtual
void
delete_dimension(
const
UUID
&uu) = 0;
36
37
virtual
class
Keepout
*insert_keepout(
const
UUID
&uu) = 0;
38
virtual
class
Keepout
*get_keepout(
const
UUID
&uu) = 0;
39
virtual
void
delete_keepout(
const
UUID
&uu) = 0;
40
41
virtual
class
Picture
*insert_picture(
const
UUID
&uu) = 0;
42
virtual
class
Picture
*get_picture(
const
UUID
&uu) = 0;
43
virtual
void
delete_picture(
const
UUID
&uu) = 0;
44
45
virtual
std::vector<Line *> get_lines() = 0;
46
virtual
std::vector<Arc *> get_arcs() = 0;
47
virtual
std::vector<Keepout *> get_keepouts() = 0;
48
49
virtual
class
Block
*get_block() = 0;
50
virtual
class
Rules
*get_rules() = 0;
51
virtual
class
IPool
&get_pool() = 0;
52
virtual
class
LayerProvider
&get_layer_provider() = 0;
53
54
virtual
std::string get_display_name(ObjectType type,
const
UUID
&uu) = 0;
55
virtual
std::string get_display_name(ObjectType type,
const
UUID
&uu,
const
UUID
&sheet) = 0;
56
57
virtual
const
class
FileVersion
&get_version()
const
= 0;
58
59
virtual
~
IDocument
()
60
{
61
}
62
};
63
64
}
// namespace horizon
horizon::Arc
Graphical arc.
Definition:
arc.hpp:20
horizon::Block
A block is one level of hierarchy in the netlist.
Definition:
block.hpp:26
horizon::Dimension
Definition:
dimension.hpp:12
horizon::FileVersion
Definition:
file_version.hpp:8
horizon::Hole
A hole with diameter and position, that's it.
Definition:
hole.hpp:18
horizon::IDocument
Definition:
idocument.hpp:5
horizon::IPool
Definition:
ipool.hpp:12
horizon::Junction
A Junction is a point in 2D-Space.
Definition:
junction.hpp:20
horizon::Keepout
Definition:
keepout.hpp:9
horizon::LayerProvider
Definition:
layer_provider.hpp:7
horizon::Line
Graphical line.
Definition:
line.hpp:19
horizon::Picture
Definition:
picture.hpp:10
horizon::Polygon
Polygon used in Padstack, Package and Board for specifying filled Regions.
Definition:
polygon.hpp:27
horizon::Rules
Definition:
rules.hpp:48
horizon::Text
Used wherever a user-editable text is needed.
Definition:
text.hpp:18
horizon::UUID
This class encapsulates a UUID and allows it to be uses as a value type.
Definition:
uuid.hpp:16
Generated by
1.9.1