Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/enumerate_faces_of_polytope.ads, Revision 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>