[BACK]Return to enumerate_faces_of_polytope.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/enumerate_faces_of_polytope.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Standard_Integer_VecVecs;           use Standard_Integer_VecVecs;
                      3: with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
                      4: with Simplices,Triangulations;           use Simplices,Triangulations;
                      5:
                      6: package Enumerate_Faces_of_Polytope is
                      7:
                      8: -- DESCRIPTION :
                      9: --   The routines in this package enable the enumeration of all k-faces
                     10: --   of the lower hull of a polytope, based on a regular triangulation.
                     11:
                     12:   generic
                     13:     with procedure Process ( face : in VecVec );
                     14:   procedure Enumerate_Faces_in_List
                     15:                 ( l : in List; point : in Link_to_Vector; k : in natural );
                     16:   generic
                     17:     with procedure Process ( face : in VecVec );
                     18:   procedure Enumerate_Lower_Faces_in_List
                     19:                 ( l : in List; point : in Link_to_Vector; k : in natural );
                     20:
                     21:   -- DESCRIPTION :
                     22:   --   Enumerates all k-dimensional faces spanned by the list and
                     23:   --   the given point.  The _Lower_ indicates that only the faces of the
                     24:   --   lower hull are enumerated.
                     25:
                     26:   -- ON ENTRY :
                     27:   --   l          a list of points;
                     28:   --   point      vector not in the list l;
                     29:   --   k          dimension of the faces.
                     30:
                     31:   -- ON RETURN :
                     32:   --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.
                     33:
                     34:   generic
                     35:     with procedure Process ( face : in VecVec );
                     36:   procedure Enumerate_Faces_in_Simplex
                     37:                 ( s : in Simplex; point : in Link_to_Vector; k : in natural );
                     38:   generic
                     39:     with procedure Process ( face : in VecVec );
                     40:   procedure Enumerate_Lower_Faces_in_Simplex
                     41:                 ( s : in Simplex; point : in Link_to_Vector; k : in natural );
                     42:
                     43:   -- DESCRIPTION :
                     44:   --   Enumerates all k-dimensional faces in the simplex s that contain
                     45:   --   the given point.  The _Lower_ indicates that only the faces of the
                     46:   --   lower hull are enumerated.
                     47:
                     48:   -- ON ENTRY :
                     49:   --   s          a simplex;
                     50:   --   point      vector in the simplex;
                     51:   --   k          dimension of the faces.
                     52:
                     53:   -- ON RETURN :
                     54:   --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.
                     55:
                     56:   generic
                     57:     with procedure Process ( face : in VecVec );
                     58:   procedure Enumerate_Faces_in_Triangulation
                     59:                 ( t : in Triangulation; point : in Link_to_Vector;
                     60:                   k : in natural );
                     61:   generic
                     62:     with procedure Process ( face : in VecVec );
                     63:   procedure Enumerate_Lower_Faces_in_Triangulation
                     64:                 ( t : in Triangulation; point : in Link_to_Vector;
                     65:                   k : in natural );
                     66:
                     67:   -- DESCRIPTION :
                     68:   --   Enumerates all k-dimensional faces in the simplices of the triangulation
                     69:   --   that contain the given point.  The _Lower_ indicates that only the faces
                     70:   --   of the lower hull are enumerated.
                     71:
                     72:   -- ON ENTRY :
                     73:   --   t          a regular triangulation;
                     74:   --   point      vector in each simplex of t;
                     75:   --   k          dimension of the faces.
                     76:
                     77:   -- ON RETURN :
                     78:   --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.
                     79:
                     80: end Enumerate_Faces_of_Polytope;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>