Horizon
Loading...
Searching...
No Matches
idocument.hpp
1#pragma once
2#include "common/common.hpp"
3
4namespace horizon {
5class IDocument {
6public:
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_top_block() = 0;
50 virtual class Rules *get_rules() = 0;
51 virtual class IPool &get_pool() = 0;
52 virtual class IPool &get_pool_caching() = 0;
53 virtual class LayerProvider &get_layer_provider() = 0;
54 virtual class GridSettings *get_grid_settings() = 0;
55
56 virtual std::string get_display_name(ObjectType type, const UUID &uu) = 0;
57 virtual std::string get_display_name(ObjectType type, const UUID &uu, const UUID &sheet) = 0;
58
59 virtual const class FileVersion &get_version() const = 0;
60
61 virtual ~IDocument()
62 {
63 }
64};
65
66} // namespace horizon
Graphical arc.
Definition arc.hpp:17
A block is one level of hierarchy in the netlist.
Definition block.hpp:29
Definition dimension.hpp:9
Definition file_version.hpp:9
Definition grid_settings.hpp:9
A hole with diameter and position, that's it.
Definition hole.hpp:15
Definition idocument.hpp:5
Definition ipool.hpp:15
A Junction is a point in 2D-Space.
Definition junction.hpp:20
Definition keepout.hpp:8
Definition layer_provider.hpp:8
Graphical line.
Definition line.hpp:16
Definition picture.hpp:10
Polygon used in Padstack, Package and Board for specifying filled Regions.
Definition polygon.hpp:25
Definition rules.hpp:54
Used wherever a user-editable text is needed.
Definition text.hpp:15
This class encapsulates a UUID and allows it to be uses as a value type.
Definition uuid.hpp:16