wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
DolphinModelBuilder Namespace Reference

Collects and orders the input/output elements of a circuit scene and derives the waveform table's row labels. More...

Classes

struct  Row
 One waveform table row: exactly one PORT of one element. More...
struct  Signals
 The input/output elements (label-sorted) and the row layout for a waveform table. More...

Enumerations

enum class  RowKind { Input , Output }
 Which side of the table a row belongs to. More...

Functions

Signals collect (Scene *scene)

Detailed Description

Collects and orders the input/output elements of a circuit scene and derives the waveform table's row labels.

Pure domain logic — no view, model, or simulation. The controller takes the result, snapshots the live input states, builds the SignalModel, and wires the view.

Enumeration Type Documentation

◆ RowKind

enum class DolphinModelBuilder::RowKind
strong

Which side of the table a row belongs to.

Enumerator
Input 
Output 

Definition at line 28 of file DolphinModelBuilder.h.

Function Documentation

◆ collect()

Signals DolphinModelBuilder::collect ( Scene * scene)

Gathers scene's input/output elements, stable-sorts them by label, validates the circuit, and builds the per-port row labels. Throws (Pandaception) on an empty circuit or one missing inputs or outputs.

Definition at line 58 of file DolphinModelBuilder.cpp.

References Scene::elements(), Input, DolphinModelBuilder::Signals::inputLabels, DolphinModelBuilder::Signals::inputPorts, DolphinModelBuilder::Signals::inputs, Output, DolphinModelBuilder::Signals::outputLabels, DolphinModelBuilder::Signals::outputs, PANDACEPTION_WITH_CONTEXT, DolphinModelBuilder::Signals::rows, and GraphicElement::Type.

Referenced by BewavedDolphin::prepare().