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

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift / enumerate_faces_of_polytope.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:28 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
with Standard_Integer_VecVecs;           use Standard_Integer_VecVecs;
with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
with Simplices,Triangulations;           use Simplices,Triangulations;

package Enumerate_Faces_of_Polytope is

-- DESCRIPTION :
--   The routines in this package enable the enumeration of all k-faces
--   of the lower hull of a polytope, based on a regular triangulation.

  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Faces_in_List
                ( l : in List; point : in Link_to_Vector; k : in natural );
  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Lower_Faces_in_List
                ( l : in List; point : in Link_to_Vector; k : in natural );

  -- DESCRIPTION :
  --   Enumerates all k-dimensional faces spanned by the list and
  --   the given point.  The _Lower_ indicates that only the faces of the
  --   lower hull are enumerated.

  -- ON ENTRY :
  --   l          a list of points;
  --   point      vector not in the list l;
  --   k          dimension of the faces.

  -- ON RETURN :
  --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.

  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Faces_in_Simplex
                ( s : in Simplex; point : in Link_to_Vector; k : in natural );
  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Lower_Faces_in_Simplex
                ( s : in Simplex; point : in Link_to_Vector; k : in natural );

  -- DESCRIPTION :
  --   Enumerates all k-dimensional faces in the simplex s that contain
  --   the given point.  The _Lower_ indicates that only the faces of the
  --   lower hull are enumerated.

  -- ON ENTRY :
  --   s          a simplex;
  --   point      vector in the simplex;
  --   k          dimension of the faces.

  -- ON RETURN :
  --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.

  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Faces_in_Triangulation
                ( t : in Triangulation; point : in Link_to_Vector;
                  k : in natural );
  generic
    with procedure Process ( face : in VecVec );
  procedure Enumerate_Lower_Faces_in_Triangulation
                ( t : in Triangulation; point : in Link_to_Vector;
                  k : in natural );

  -- DESCRIPTION :
  --   Enumerates all k-dimensional faces in the simplices of the triangulation
  --   that contain the given point.  The _Lower_ indicates that only the faces
  --   of the lower hull are enumerated.

  -- ON ENTRY :
  --   t          a regular triangulation;
  --   point      vector in each simplex of t;
  --   k          dimension of the faces.

  -- ON RETURN :
  --   face       a (k+1)-dimensional vector: face(0..k), face(0) = point.

end Enumerate_Faces_of_Polytope;