+//================================================================================
+/*!
+ * \brief Return iterator over children
+ */
+//================================================================================
+SMESH_OctreeNodeIteratorPtr SMESH_OctreeNode::GetChildrenIterator()
+{
+ return SMESH_OctreeNodeIteratorPtr
+ ( new SMDS_SetIterator< SMESH_OctreeNode*, SMESH_Octree** >
+ ( myChildren, ( isLeaf() ? myChildren : &myChildren[ 8 ] )));
+}
+
+//================================================================================
+/*!
+ * \brief Return nodes iterator
+ */
+//================================================================================
+SMDS_NodeIteratorPtr SMESH_OctreeNode::GetNodeIterator()
+{
+ return SMDS_NodeIteratorPtr
+ ( new SMDS_SetIterator< SMDS_pNode, set< SMDS_pNode >::const_iterator >
+ ( myNodes.begin(), myNodes.end() ));
+}