diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2018-01-04 19:11:08 -0200 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2018-01-04 19:11:08 -0200 |
commit | 76df1de5e2307229da9870306e4a1031170aaadf (patch) | |
tree | 6d7144e9982a824474279f02574c918ce8fa0e9d /Project/RateLimiter.cpp | |
parent | cef9e14b989a3ba19321e4fe215ada2ee3998037 (diff) | |
download | PSP.git-76df1de5e2307229da9870306e4a1031170aaadf.tar.gz PSP.git-76df1de5e2307229da9870306e4a1031170aaadf.tar.xz PSP.git-76df1de5e2307229da9870306e4a1031170aaadf.zip |
Control elements file handling reorganized
Diffstat (limited to 'Project/RateLimiter.cpp')
-rw-r--r-- | Project/RateLimiter.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Project/RateLimiter.cpp b/Project/RateLimiter.cpp index c8da81d..94e44f5 100644 --- a/Project/RateLimiter.cpp +++ b/Project/RateLimiter.cpp @@ -140,3 +140,32 @@ Element* RateLimiter::GetCopy() *copy = *this; return copy; } + +void RateLimiter::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode) +{ + auto elementNode = XMLParser::AppendNode(doc, elementListNode, "RateLimiter"); + XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID); + + SaveCADProperties(doc, elementNode); + SaveControlNodes(doc, elementNode); + + // Element properties + auto upLimit = XMLParser::AppendNode(doc, elementNode, "UpperLimit"); + XMLParser::SetNodeValue(doc, upLimit, m_upLimit); + auto lowLimit = XMLParser::AppendNode(doc, elementNode, "LowerLimit"); + XMLParser::SetNodeValue(doc, lowLimit, m_lowLimit); +} + +bool RateLimiter::OpenElement(rapidxml::xml_node<>* elementNode) +{ + if(!OpenCADProperties(elementNode)) return false; + if(!OpenControlNodes(elementNode)) return false; + + // Element properties + m_upLimit = XMLParser::GetNodeValueDouble(elementNode, "UpperLimit"); + m_lowLimit = XMLParser::GetNodeValueDouble(elementNode, "LowerLimit"); + + StartMove(m_position); + UpdatePoints(); + return true; +} |