/// Returns the level of the node in the tree
virtual int GetLevel() const { return mParent->GetLevel()+1; }
+
/// Returns the parent of the node
Node* GetParent() const { return mParent; }
{ if (mData!=0) return dynamic_cast<T>(mData); return 0; }
/// Sets the node data. Deletes existing data if any.
- void SetData(boost::shared_ptr<NodeData> d) { mData = d; }//{ if (mData) delete mData; mData = d; }
+ void SetData(boost::shared_ptr<NodeData> d) {mData.reset(); mData = d; }//{ if (mData) delete mData; mData = d; }
/// Sorts the children of the node
void SortChildren(const LexicographicalComparator&);