The curves are discretized by simply creating an edge for each segment
of the binary tree structure associated with that curve. In case of
relevant curves, this binary tree is directly built on that curve, in
other cases, the binary tree is extracted from the tree structure of
model entity being bounded by the curve. Since the binary tree has a very
regular structure in the parametric space the curve discretization is
likely to be very unsmooth. Therefore an optimization process has
to be applied to improve the curve discretization. Apparently,
application of plain Laplacian smoothing will result (after sufficient
number of cycles of the smoothing) in equidistant node distribution
over the curve, which is not acceptable. Therefore weighted Laplacian
smoothing with weights based on required mesh size is used. This
provides satisfactory results if non-boundary curve is considered. For
boundary curves, this smoothing is still too ``free'' and will
consequently spoil the shape of elements on surfaces and in regions
bounded by this curve. To resolve this problem a selective smoothing was
implemented. This weighted Laplacian smoothing is applied only to
those nodes that are shared by segments with significantly different
lengths. This solution seems to be a good compromise between the
unsmoothed and standardly smoothed curve discretization.

*Daniel Rypl
2005-12-03*