2 #include "util/uuid.hpp" 3 #include "nlohmann/json_fwd.hpp" 4 #include "pool/unit.hpp" 5 #include "block/block.hpp" 6 #include "schematic_symbol.hpp" 7 #include "line_net.hpp" 8 #include "common/text.hpp" 9 #include "net_label.hpp" 10 #include "bus_label.hpp" 11 #include "bus_ripper.hpp" 12 #include "power_symbol.hpp" 14 #include "util/warning.hpp" 15 #include "common/layer_provider.hpp" 27 bool has_label =
false;
28 bool has_power_sym =
false;
43 std::map<UUID, Junction> junctions;
44 std::map<UUID, SchematicSymbol> symbols;
46 std::map<UUID, class LineNet> net_lines;
47 std::map<UUID, class Text> texts;
48 std::map<UUID, NetLabel> net_labels;
49 std::map<UUID, PowerSymbol> power_symbols;
50 std::map<UUID, BusLabel> bus_labels;
51 std::map<UUID, BusRipper> bus_rippers;
52 std::vector<Warning> warnings;
56 void expand_symbols();
57 void simplify_net_lines(
bool simplify);
59 void delete_duplicate_net_lines();
60 void vacuum_junctions();
61 void delete_dependants();
62 void propagate_net_segments();
63 std::map<UUID, NetSegmentInfo> analyze_net_segments(
bool place_warnings =
false);
64 std::set<UUIDPath<3>> get_pins_connected_to_net_segment(
const UUID &uu_segment);
78 json serialize()
const;
Definition: symbol.hpp:22
A Bus is used for grouping nets.
Definition: bus.hpp:21
Border around a sheet.
Definition: frame.hpp:16
a class to store JSON values
Definition: json.hpp:161
LineNet is similar to Line, except it denotes electrical connection.
Definition: line_net.hpp:24
Make a Bus member's Net available on the schematic.
Definition: bus_ripper.hpp:21
A block is one level of hierarchy in the netlist.
Definition: block.hpp:25
Definition: layer_provider.hpp:7
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
A Junction is a point in 2D-Space.
Definition: junction.hpp:25
Definition: schematic_symbol.hpp:19