The class Arr_segment_cached_traits_2<Kernel> is a traits class for handling arrangements of line segments that stores additional cached information with it curves in order to speed up the arrangement construction. It thus uses the geometric kernel method in a more efficient way than the straightforward implementation, at the cost of additional memory.

The Arr_segment_traits_2<Kernel>::Curve_2 type is derived from the Kernel::Segment_2 class, thus it has the same functionality. An object of this type can be created directly from a Kernel::Segment_2 object or from two Kernel::Point_2 objects that specify its endpoints.

The Kernel must use a number type that supports exact computations with rational numbers, such as Quotient<Gmpz> or leda_rational. In this case, since the caching methods help avoiding cascaded computations it is also safe to use Quotient<MP_Float> as the number type. Other inexact representations can be used at the user's own risk.

#include <CGAL/Arr_segment_cached_traits_2.h>

Is Model for the Concept