## CGAL::Arrangement_2<Dcel,Traits,Base_node>::Subcurve_node

### Definition

An object sn of the class Arrangement_2<Dcel,Traits,Base_node>::Subcurve_node is a node holding a subcurve in the hierarchy tree of the arrangement.

### Inherits From

Base_node

The Arrangement_2<Dcel,Traits,Base_node>::Subcurve_node is the base class for the nodes of the tree. Its functions are inherited by the Curve_node and Edge_node classes.

### Operations

virtual bool | sn.is_edge_node () | returns false;
Curve_iterator | sn.curve_node () | returns an iterator to the Curve_node that is the root of the hierarchy tree sn is in.
Subcurve_iterator | sn.parent () | returns an iterator to the node that is the parent of sn in the hierarchy tree. Note that the return value is always a Subcurve_iterator even if the actual type is a Curve_node; in order to get the Curve_node which is the root of the tree use the member function curve_node().
Subcurve_iterator | sn.children_begin ()
|  | returns a begin iterator to the children of sn in the hierarchy tree.
Subcurve_iterator | sn.children_end () | returns a past-the-end iterator of the children of sn in the hierarchy tree.
Edge_iterator | sn.edges_begin () | returns a begin iterator to the edges in the subtree ``hanging'' from sn, i.e., the subtree that sn is a root of. Precondition: sn has a non-empty edge level.
Edge_iterator | sn.edges_end () | returns a past-the-end iterator to the edges in the subtree ``hanging'' from sn. Precondition: sn has a non-empty edge level.