summaryrefslogtreecommitdiffstats
path: root/Project/Gain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Gain.cpp')
-rw-r--r--Project/Gain.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/Project/Gain.cpp b/Project/Gain.cpp
index 95107d8..fd82fba 100644
--- a/Project/Gain.cpp
+++ b/Project/Gain.cpp
@@ -177,7 +177,7 @@ void Gain::Move(wxPoint2DDouble position)
bool Gain::Solve(double* input, double timeStep)
{
- if(!input){
+ if(!input) {
m_output = 0.0;
return true;
}
@@ -199,3 +199,27 @@ bool Gain::UpdateText()
if(!m_glText->IsTextureOK()) return false;
return true;
}
+
+void Gain::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode)
+{
+ auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Gain");
+ XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID);
+
+ SaveCADProperties(doc, elementNode);
+ SaveControlNodes(doc, elementNode);
+
+ // Element properties
+ auto value = XMLParser::AppendNode(doc, elementNode, "Value");
+ XMLParser::SetNodeValue(doc, value, m_value);
+}
+
+bool Gain::OpenElement(rapidxml::xml_node<>* elementNode)
+{
+ if(!OpenCADProperties(elementNode)) return false;
+ if(!OpenControlNodes(elementNode)) return false;
+
+ // Element properties
+ double value = XMLParser::GetNodeValueDouble(elementNode, "Value");
+ SetValue(value);
+ return true;
+} \ No newline at end of file