KiCad PCB EDA Suite
Loading...
Searching...
No Matches
easypc_classes_connectivity.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
25
26#ifndef EASYPC_CLASSES_CONNECTIVITY_H
27#define EASYPC_CLASSES_CONNECTIVITY_H
28
29#include <cstdint>
30#include <memory>
31#include <vector>
32
33#include <wx/string.h>
34
36
37
38namespace EASYPC
39{
40
47
48
63
64
67{
68 LOAD_TASK Load( ARCHIVE& aAr ) override;
69
71 OBJECT* Symbol = nullptr;
72 OBJECT* Coppers = nullptr;
73 OBJECT* Pads = nullptr;
74 OBJECT* Texts = nullptr;
76 int32_t Angle = 0;
77 int32_t Gate = -1;
78 bool Mirrored = false;
79 bool Placed = false;
80
82 std::unique_ptr<SOURCE_DESIGN_LIST> ConvertedValuePositions;
83 std::unique_ptr<SOURCE_VALUE_POSITION> ConvertedSymbolName;
84};
85
86
89{
90 LOAD_TASK Load( ARCHIVE& aAr ) override;
91
92 OBJECT* Component = nullptr;
93 wxString Name;
96 int32_t Suppress = 0;
97};
98
99
102{
103 LOAD_TASK Load( ARCHIVE& aAr ) override;
104
105 OBJECT* Node = nullptr;
106 OBJECT* Pad = nullptr;
107 OBJECT* PinName = nullptr;
108 OBJECT* PinNumber = nullptr;
111};
112
113
115{
116 LOAD_TASK Load( ARCHIVE& aAr ) override;
117
118 OBJECT* Copper = nullptr;
119};
120
121
123{
124 LOAD_TASK Load( ARCHIVE& aAr ) override;
125
126 wxString Name;
127 OBJECT* Connections = nullptr;
128 OBJECT* Nodes = nullptr;
129 OBJECT* NetClass = nullptr;
130 int32_t GuardSpacing = 0;
131};
132
133
136{
137 LOAD_TASK Load( ARCHIVE& aAr ) override;
138
139 bool Displayed = true;
140};
141
142
144{
145 LOAD_TASK Load( ARCHIVE& aAr ) override;
146
147 OBJECT* Item = nullptr;
148 OBJECT* NetName = nullptr;
150};
151
152
154{
155 LOAD_TASK Load( ARCHIVE& aAr ) override;
156
157 OBJECT* Node1 = nullptr;
158 OBJECT* Node2 = nullptr;
159 OBJECT* Track = nullptr;
160};
161
162
165{
166 LOAD_TASK Load( ARCHIVE& aAr ) override;
167
169 OBJECT* Style = nullptr;
170 OBJECT* Node = nullptr;
171 int32_t Angle = 0;
172};
173
174
178
179
183
184
186{
187 LOAD_TASK Load( ARCHIVE& aAr ) override;
188
189 OBJECT* LayerSpan = nullptr;
190 bool Tented = false;
191};
192
193
200
201
203{
204 LOAD_TASK Load( ARCHIVE& aAr ) override;
205
206 OBJECT* Layer = nullptr;
207};
208
209
211{
212 LOAD_TASK LoadTail( ARCHIVE& aAr ) override;
213
214 OBJECT* Style = nullptr;
215};
216
217
219{
220 LOAD_TASK Load( ARCHIVE& aAr ) override;
221
222 wxString Name;
223 std::vector<OBJECT*> Nets;
224 OBJECT* Terminals = nullptr;
226};
227
228
230{
231 LOAD_TASK Load( ARCHIVE& aAr ) override;
232
233 int32_t Plated = 0;
234};
235
236} // namespace EASYPC
237
238#endif // EASYPC_CLASSES_CONNECTIVITY_H
One archive load stream; it owns every object it creates.
A loader coroutine. Awaiting one queues it on its archive's frame stack instead of nesting the call.
Shapes, vertices and the free-standing drawn items.
COMPONENT_SUPPRESS
Component instance suppress bits.
VALUE_TYPE
Value position and component instance value type bits.
@ VALUE_ATTRIBUTE
the attribute the value position names
Root of every deserialized object.
A point read as two int32 values.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
std::vector< OBJECT * > Nets
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Track
null for an unrouted connection
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
Also the whole body of junctions and copper terminals.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Copper
the definition's free copper
The base of nearly every class.
A schematic net label owned by a node.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * NetClass
the design's first class when the file stores none
OBJECT * Item
pad instance, via, junction, copper or bus terminal, or free pad
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * PinNumber
placed pin number, below 10003
OBJECT * PinName
placed pin name, below 10003
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Node
null when unconnected
OBJECT * StyleException
pad style overriding the pad's own
OBJECT * Pad
the definition's free pad
A placed footprint (gate -1) or a placed schematic gate.
std::unique_ptr< SOURCE_VALUE_POSITION > ConvertedSymbolName
std::unique_ptr< SOURCE_DESIGN_LIST > ConvertedValuePositions
Below 10003 the stored symbol name becomes the first value position of a new list.
OBJECT * ValuePositions
below 10003 built from the stored symbol name
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
OBJECT * Style
track style of the span leaving this vertex
LOAD_TASK LoadTail(ARCHIVE &aAr) override
The fields a subclass reads after the next vertex.
OBJECT * Layer
null in a schematic
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.
LOAD_TASK Load(ARCHIVE &aAr) override
Read this object's fields.