2 #include "util/uuid.hpp" 3 #include "nlohmann/json_fwd.hpp" 4 #include "pool/unit.hpp" 5 #include "block/block.hpp" 7 #include "schematic_rules.hpp" 29 unsigned int update_nets();
41 void expand(
bool careful =
false);
81 std::map<UUID, Sheet> sheets;
83 std::map<std::string, std::string> title_block_values;
90 enum class Order { RIGHT_DOWN, DOWN_RIGHT };
91 Order order = Order::RIGHT_DOWN;
93 enum class Mode { SEQUENTIAL, SHEET_100, SHEET_1000 };
94 Mode mode = Mode::SHEET_100;
96 bool fill_gaps =
true;
98 bool ignore_unknown =
false;
99 json serialize()
const;
105 json serialize()
const;
A Schematic is the visual representation of a Block.
Definition: schematic.hpp:26
void disconnect_symbol(Sheet *sheet, SchematicSymbol *sym)
Removes all connections from sym and connects the dangling net lines to junctions.
Definition: schematic.cpp:177
a class to store JSON values
Definition: json.hpp:161
void autoconnect_symbol(Sheet *sheet, SchematicSymbol *sym)
Connects unconnected pins of sym to Nets specified by junctions coincident with pins.
Definition: schematic.cpp:87
Definition: schematic_rules.hpp:10
void expand(bool careful=false)
This is where the magic happens.
Definition: schematic.cpp:258
A block is one level of hierarchy in the netlist.
Definition: block.hpp:26
void smash_symbol(Sheet *sheet, SchematicSymbol *sym)
Turns sym's texts to regular text objects.
Definition: schematic.cpp:213
void unsmash_symbol(Sheet *sheet, SchematicSymbol *sym)
Undoes what smash_symbol did.
Definition: schematic.cpp:243
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:19
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
void update_refs()
objects owned by the Sheets may hold pointers to other objects of the same sheet or the Block associa...
Definition: schematic.cpp:708
Definition: schematic_symbol.hpp:19
Definition: schematic.hpp:86