summaryrefslogtreecommitdiffstats
path: root/Project/Divider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Divider.cpp')
-rw-r--r--Project/Divider.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/Project/Divider.cpp b/Project/Divider.cpp
index 3f7027d..a19d9c5 100644
--- a/Project/Divider.cpp
+++ b/Project/Divider.cpp
@@ -15,8 +15,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-#include "Divider.h"
#include "ConnectionLine.h"
+#include "Divider.h"
Divider::Divider(int id) : MathOperation(id) {}
Divider::~Divider() {}
@@ -75,3 +75,23 @@ Element* Divider::GetCopy()
*copy = *this;
return copy;
}
+
+void Divider::SaveElement(rapidxml::xml_document<>& doc, rapidxml::xml_node<>* elementListNode)
+{
+ auto elementNode = XMLParser::AppendNode(doc, elementListNode, "Divider");
+ XMLParser::SetNodeAttribute(doc, elementNode, "ID", m_elementID);
+
+ SaveCADProperties(doc, elementNode);
+ SaveControlNodes(doc, elementNode);
+}
+
+bool Divider::OpenElement(rapidxml::xml_node<>* elementNode)
+{
+ if(!OpenCADProperties(elementNode)) return false;
+ if(!OpenControlNodes(elementNode)) return false;
+
+ StartMove(m_position);
+ UpdatePoints();
+
+ return true;
+}