From 7aed88dbcf9d37a1f40c8cad115f055c4d69e7a9 Mon Sep 17 00:00:00 2001 From: Thales1330 Date: Thu, 29 Dec 2016 19:03:16 -0200 Subject: Parent/child optimization implemented And others bugfixes. --- Project/Element.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Project/Element.h') diff --git a/Project/Element.h b/Project/Element.h index 67e0762..c5aa030 100644 --- a/Project/Element.h +++ b/Project/Element.h @@ -130,6 +130,11 @@ public: // General methods virtual Element* GetCopy() { return NULL; } + virtual void SetID(int id) { m_elementID = id; } + virtual int GetID() const { return m_elementID; } + virtual void AddChild(Element* child); + virtual void RemoveChild(Element* child); + virtual void ReplaceChild(Element* oldChild, Element* newChild); virtual void Draw(wxPoint2DDouble translation, double scale) const {}; virtual void Rotate(bool clockwise = true) {} virtual bool GetContextMenu(wxMenu& menu) { return false; } @@ -183,6 +188,7 @@ public: virtual wxPoint2DDouble RotateAtPosition(wxPoint2DDouble pointToRotate, double angle, bool degrees = true) const; virtual std::vector GetParentList() const { return m_parentList; } + virtual std::vector GetChildList() const { return m_childList; } virtual wxPoint2DDouble GetMoveStartPosition() const { return m_moveStartPt; } virtual wxPoint2DDouble GetMovePosition() const { return m_movePos; } virtual void CalculateBoundaries(wxPoint2DDouble& leftUp, wxPoint2DDouble& rightBottom) const; @@ -205,7 +211,9 @@ public: static wxString StringFromDouble(double value, int minDecimal = 1); protected: + int m_elementID = 0; std::vector m_parentList; + std::vector m_childList; wxRect2DDouble m_rect; wxPoint2DDouble m_position; -- cgit