CGAL 6.1 - Fast Intersection and Distance Computation (AABB Tree)

Loading...
Searching...
No Matches
List of all members
CGAL::AABB_polyline_segment_primitive_2< GeomTraits, Iterator, PointRange, CacheDatum, PointMap > Class Template Reference
Reference Manual

`#include <CGAL/AABB_polyline_segment_primitive_2.h>`

## Definition

template<class GeomTraits, class Iterator, class PointRange, class CacheDatum = Tag_false, class PointMap = Identity_property_map<typename PointRange::value_type>>
class CGAL::AABB_polyline_segment_primitive_2< GeomTraits, Iterator, PointRange, CacheDatum, PointMap >

Primitive type that uses as identifier an iterator with a 2D point as `value_type`.

The iterator from which the primitive is built should not be invalided while the AABB tree holding the primitive is in use. The `Segment_2` is constructed on the fly using the `Point_2` the identifier is pointing to as source and the `Point_2` the next identifier is pointing to as target.

Is model of
  `AABBPrimitive`

Template Parameters

  GeomTraits | is a traits class providing the nested type `Point_2` and `Segment_2`. It also provides the functor `Construct_segment_2` that has an operator taking two `Point_2` and returning a `Segment_2`.
  Iterator | is a model of `ForwardIterator` whose value type is convertible to `GeomTraits::Point_2`
  PointRange | is a model of `ConstRange` whose iterator is a model of `ForwardIterator`. Its value type needs to be the key type of `PointMap`.
  CacheDatum | is either `CGAL::Tag_true` or `CGAL::Tag_false`. In the former case, the datum is stored in the primitive, while in the latter it is constructed on the fly to reduce the memory footprint. The default is `CGAL::Tag_false` (datum is not stored).
  PointMap | is a model of `ReadablePropertyMap` whose key type is the value type of `PointRange` and whose value type is `Point_2`. The default is `CGAL::Identity_property_map`<PointRange::value_type>.

See also
  `AABBPrimitive`
  `AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>`
  `AABB_segment_primitive_2<GeomTraits,Iterator,CacheDatum>`
  `AABB_segment_primitive_3<GeomTraits,Iterator,CacheDatum>`
  `AABB_halfedge_graph_segment_primitive<HalfedgeGraph,VertexPointPMap,OneHalfedgeGraphPerTree,CacheDatum>`

Examples
  AABB_tree/AABB_polyline_segment_2_example.cpp.