Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/face_structures.ads, Revision 1.1
1.1 ! maekawa 1: with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
! 2: with Integer_Faces_of_Polytope; use Integer_Faces_of_Polytope;
! 3: with Triangulations; use Triangulations;
! 4:
! 5: package Face_Structures is
! 6:
! 7: -- DESCRIPTION :
! 8: -- This package offers a data abstraction to work with face
! 9: -- structures of tuples of polytopes.
! 10:
! 11: -- DATA STRUCTURES :
! 12:
! 13: type Face_Structure is record
! 14: l,last : List; -- l contains the lifted points of the faces,
! 15: -- last is a pointer to the last element of l
! 16: t : Triangulation; -- triangulation of the points in l
! 17: f : Faces; -- k-faces of conv(l)
! 18: end record;
! 19: type Array_of_Face_Structures is array(integer range <>) of Face_Structure;
! 20:
! 21: -- CONSTRUCTOR :
! 22:
! 23: procedure Compute_New_Faces
! 24: ( fs : in out Face_Structure; k,n : in natural;
! 25: point : in out Link_to_Vector; newfs : out Faces );
! 26:
! 27: -- DESCRIPTION :
! 28: -- Given a point, the new faces will be computed and returned.
! 29:
! 30: -- ON ENTRY :
! 31: -- fs a face structure;
! 32: -- k dimension of the faces to generate;
! 33: -- n dimension without the lifting;
! 34: -- point point that has to be in all the faces.
! 35:
! 36: -- ON RETURN :
! 37: -- fs face structure with updated triangulation,
! 38: -- the new faces are not added, also the list is not updated;
! 39: -- point lifted conservatively w.r.t. fs.t;
! 40: -- newfs k-faces, which all contain the given point.
! 41:
! 42: -- FLATTENING OPERATIONS :
! 43:
! 44: procedure Flatten ( l : in out List );
! 45: procedure Flatten ( f : in out Face );
! 46: procedure Flatten ( fs : in out Faces );
! 47: procedure Flatten ( fs : in out Face_Structure );
! 48: procedure Flatten ( fs : in out Array_of_Face_Structures );
! 49:
! 50: -- DESCRIPTION :
! 51: -- These operations are use to flatten face structures.
! 52:
! 53: -- SELECTORS :
! 54:
! 55: function Is_In ( fs : Face_Structure; point : vector ) return boolean;
! 56:
! 57: -- DESCRIPTION :
! 58: -- Returns true if the point belongs to the face structure.
! 59:
! 60: -- DESTRUCTORS :
! 61:
! 62: procedure Deep_Clear ( fs : in out Face_Structure );
! 63: procedure Shallow_Clear ( fs : in out Face_Structure );
! 64: procedure Deep_Clear ( fs : in out Array_of_Face_Structures );
! 65: procedure Shallow_Clear ( fs : in out Array_of_Face_Structures );
! 66:
! 67: end Face_Structures;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>