From 1dfbcc61c44d688fdf7a5a9243d7f7fab62f474e Mon Sep 17 00:00:00 2001 From: James Grogan Date: Tue, 3 Jan 2023 07:47:49 +0000 Subject: [PATCH] Initial circuit. --- plugins/circuits/ElectronicCircuit.h | 41 +++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) 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