diff --git a/plugins/circuits/ElectronicCircuit.h b/plugins/circuits/ElectronicCircuit.h index d49ab3d..01d4662 100644 --- a/plugins/circuits/ElectronicCircuit.h +++ b/plugins/circuits/ElectronicCircuit.h @@ -3,19 +3,58 @@ #include #include -class Terminal +class CircuitElement { }; +class Terminal : public CircuitElement +{ +public: + enum class Type + { + INPUT, + OUTPUT + }; + + Terminal(Type type) + : mType(type) + { + + } + +private: + double mValue{0}; + Type mType; +}; + class Wire { +public: + Wire(CircuitElement* input, CircuitElement* output) + : mInput(input), + mOutput(output) + { + } + +private: + CircuitElement* mInput{nullptr}; + CircuitElement* mOutput{nullptr}; }; class LogicGate { +public: + enum class Type + { + NOT, + AND, + OR, + XOR, + + }; }; class ElectronicCircuit