diff options
Diffstat (limited to 'Project/Multiplier.cpp')
-rw-r--r-- | Project/Multiplier.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/Project/Multiplier.cpp b/Project/Multiplier.cpp index b25a406..a32d494 100644 --- a/Project/Multiplier.cpp +++ b/Project/Multiplier.cpp @@ -15,8 +15,8 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -#include "Multiplier.h" #include "ConnectionLine.h" +#include "Multiplier.h" Multiplier::Multiplier(int id) : MathOperation(id) {} Multiplier::~Multiplier() {} @@ -58,9 +58,7 @@ bool Multiplier::Solve(double* input, double timeStep) } m_output = 1.0; - for(unsigned int i = 0; i < inputVector.size(); ++i) { - m_output *= inputVector[i]; - } + for(unsigned int i = 0; i < inputVector.size(); ++i) { m_output *= inputVector[i]; } return true; } @@ -71,3 +69,22 @@ Element* Multiplier::GetCopy() *copy = *this; return copy; } + +void Multiplier::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +{ + auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Multiplier"); + XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID); + + SaveCADProperties(doc, elementNode); + SaveControlNodes(doc, elementNode); +} + +bool Multiplier::OpenElement(rapidxml::xml_node<>* elementNode) +{ + if(!OpenCADProperties(elementNode)) return false; + if(!OpenControlNodes(elementNode)) return false; + + StartMove(m_position); + UpdatePoints(); + return true; +} |