This directory contains 10 example programs for the Planar Map package.

example1:
  The example demonstrates the insertion of curves into a planar map. The
  validity of the planar map is verified afterwards, and vertical ray shooting
  is performed.

example2:
  This example is similar to example1, but the planar map is templated with
  the traits, which is templated with the Homogeneous coordinates kernel in
  turn. An edge located by the vertical ray shooting is removed from the map.

example3:
  In this example a planar map in the shape of the David star is constructed.
  The planar map is templated with the segment traits, which is templated
  with a filtered cartesian kernel over doubles in turn.
  Next, some point location queries of pre-coded points are issued. Finally, a
  point location query of a point provided through the standard input is
  issued.

example4:
  In this example a planar map similar to the planar map of example 1 and 2
  is constructed. The planar map is further modified by splitting one of its
  edges and inserting an additional edge at specified vertices. The
  planar map out-streaming feature is demonstrated as well. Note the format
  of the stream.

example5:
  In this example a quadrilateral-shaped planar map that uses the naive point
  location strategy is constructed utilizing various edge-insertion operations,
  that is, insert_in_face_interior(), insert_from_vertex(), and
  insert_at_vertices(). The later is verified to return the halfedge that is
  incident to the unbounded face.

example6:
  In this example a house-like-shaped planar map that uses the naive point
  location strategy is constructed utilizing various edge-insertion operations,
  that is, insert(), insert_from_vertex(), and insert_at_vertices(). The naive
  point location strategy suits better these functions. The planar map is
  printed out to the standard output using the planar map streaming feature.

example7:
  In this example a planar map that uses the walk-along-line point location
  strategy is constructed. The map is templated with the straight traits,
  which is templated with the cartesian kernel over Quotient multiprecision
  float (MP_Float) in turn. The example demonstrates insertions and vertical
  ray shooting.

example8:
  In this example a house-like-shaped planar map that uses the naive point
  location strategy is constructed and printed out to the standard output.
  By default, the planar map is templated with the straight traits, which is
  templated with the cartesian kernel over doubles in turn. 
  It is possible to toggle between naive and default point location strategy,
  between cartesian and homogeneous kernel, and between double and leda
  rational number type via compilation conditions.

example9:
  This example shows how to use the IO functions of the planar map.
  It demonstrates the trivial usage of reading a Planar map from the standard
  input stream and writing it to the standard output stream. Writing the
  Planar map to a Postscript file is also demonstrated in this example.
  Type:
    example9 < example9.cin
  to run the program.
 
example10:
  This example shows how to use the IO functions of the planar map.
  It demonstrates an advance usage, where a color attribute is extends the
  planar map vertex base-component. A planar map is read from the standard
  input Next, a color is added to each vertex. Finally, The extended planar map
  is written to the standard output.
  Type:
    example10 < example10.cin
  to run the program.

example10:
  This example demonstrates the use of the quick insert operations. They are
  applied through two overloaded insert methods. They are more efficient, as
  the search for the previous halfedge in the circular list of halfedges that
  share the same target vertex is unnecessary, saving its computation time.
  In this example a planar map similar to the planar map of example 1 and 2
  is constructed. The Planar_map out-streaming feature is demonstrated as
  well. Note the format of the stream.

example13:
  This example demonstrates the technique used to extend the segment
  (geometric) kernel-object

example14:
  This example demonstrates the technique used to extend the point
  (geometric) kernel-object
