

   EExxttrraacctt aa lliisstt ooff ttrriiaannggllee ffrroomm aa ttrriiaanngguullaattiioonn oobbjjeecctt

        triangles(tri.obj)

   AArrgguummeennttss::

    tri.obj: object of class `"tri"'

   DDeessccrriippttiioonn::

        This function extracts a triangulation data structure
        from an triangulation object created by `tri.mesh'.

        The vertices in the returned matrix (let's denote it
        with `retval') are ordered counterclockwise with the
        first vertex taken to be the one with smallest index.
        Thus, `retval[i,"node2"]' and `retval[i,"node3"]' are
        larger than `retval[i,"node3"]' and index adjacent
        neighbors of node `retval[i,"node1"]'. The columns
        `trx' and `arcx', x=1,2,3 index the triangle and arc,
        respectively, which are opposite (not shared by) node
        `nodex', with `trix'= 0 if `arcx' indexes a boundary
        arc.  Vertex indexes range from 1 to N, triangle
        indexes from 0 to NT, and, if included, arc indexes
        from 1 to NA = NT+N-1.  The triangles are ordered on
        first (smallest) vertex indexes, except that the sets
        of constraint triangles (triangles contained in the
        closure of a constraint region) follow the non-con-
        straint triangles.

   VVaalluuee::

        A matrix with columns `node1',`node2',`node3', repre-
        senting the vertex nodal indexes, `tr1',`tr2',`tr3',
        representing neighboring triangle indexes and
        `arc1',`arc2',`arc3' reresenting arc indexes.

        Each row represents one triangle.

   AAuutthhoorr((ss))::

        A. Gebhardt

   RReeffeerreenncceess::

        R. J. Renka (1996). Algorithm 751: TRIPACK: a con-
        strained two-dimensional {Delaunay} triangulation pack-
        age.  ACM Transactions on Mathematical Software.  22,
        1-8.

   SSeeee AAllssoo::

        `tri', `print.tri', `plot.tri', `summary.tri', `trian-
        gles'

   EExxaammpplleess::

        # we will use the test data from library(akima):
        library(akima)
        data(akima)
        akima.tr<-tri.mesh(akima$x,akima$y)
        triangles(akima.tr)

