Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/triangulations.ads, Revision 1.1
1.1 ! maekawa 1: with Generic_Lists;
! 2: with Standard_Integer_Vectors; use Standard_Integer_Vectors;
! 3: with Standard_Integer_VecVecs; use Standard_Integer_VecVecs;
! 4: with Simplices; use Simplices;
! 5:
! 6: package Triangulations is
! 7:
! 8: -- DESCRIPTION :
! 9: -- This package exports a data structure for dealing with regular
! 10: -- triangulations of Newton polytopes.
! 11:
! 12: -- DATA STRUCTURE :
! 13:
! 14: package Lists_of_Simplices is new Generic_Lists(Simplex);
! 15: type Triangulation is new Lists_of_Simplices.List;
! 16:
! 17: Null_Triangulation : constant Triangulation
! 18: := Triangulation(Lists_of_Simplices.Null_List);
! 19:
! 20: -- CREATORS :
! 21:
! 22: function Create ( s : Simplex ) return Triangulation;
! 23:
! 24: -- DESCRIPTION :
! 25: -- Returns a trianguation with one simplex.
! 26:
! 27: procedure Update ( t : in out Triangulation; x : in Link_to_Vector );
! 28: procedure Update ( t : in out Triangulation; x : in Link_to_Vector;
! 29: newt : out Triangulation );
! 30:
! 31: -- DESCRIPTION :
! 32: -- Computes new simplices which contain x, stores them in newt,
! 33: -- and adds them to the triangulation.
! 34:
! 35: procedure Update_One ( t : in out Triangulation; x : in Link_to_Vector );
! 36:
! 37: -- DESCRIPTION :
! 38: -- Computes new simplices that contain x and adds them
! 39: -- to the triangulation.
! 40: -- Hereby it will be assumed that adding x causes no points of t to be
! 41: -- interior.
! 42:
! 43: procedure Connect ( t : in out Triangulation );
! 44:
! 45: -- DESCRIPTION ;
! 46: -- Given a collection of simplices, the appropiate connections
! 47: -- between the simplices will be computed and made.
! 48:
! 49: procedure Flatten ( t : in out Triangulation );
! 50:
! 51: -- DESCRIPTION :
! 52: -- All simplices in t will be flattened.
! 53:
! 54: -- REQUIRED :
! 55: -- Cells that are already flattened are grouped at the end of the list.
! 56:
! 57: -- SELECTORS :
! 58:
! 59: function Is_Vertex ( t : Triangulation; x : Vector ) return boolean;
! 60:
! 61: -- DESCRIPTION :
! 62: -- Returns true if the given vector x is a vertex of one of
! 63: -- the simplices in t.
! 64:
! 65: function Vertices ( t : Triangulation ) return VecVec;
! 66:
! 67: -- DESCRIPTION :
! 68: -- Returns a vector with all vertices of the simplices in t.
! 69:
! 70: function Vertices ( t : Triangulation; x : Vector ) return VecVec;
! 71:
! 72: -- DESCRIPTION :
! 73: -- Returns a vector with all vertices of the simplices in t,
! 74: -- which contain the given vector x.
! 75:
! 76: function Is_In ( t : Triangulation; x : Vector ) return boolean;
! 77:
! 78: -- DESCRIPTION :
! 79: -- Returns true if the point x belongs to one of the simplices in t.
! 80:
! 81: function Is_In ( t : Triangulation; x : Vector ) return Simplex;
! 82:
! 83: -- DESCRIPTION :
! 84: -- If the point belongs to one of the simplices in t, then this
! 85: -- simplex is returned, otherwise, the Null_Simplex is returned.
! 86:
! 87: function Is_In ( t : Triangulation; s : Simplex ) return boolean;
! 88:
! 89: -- DESCRIPTION :
! 90: -- Returns true if the simplex s is contained in t.
! 91:
! 92: function Volume ( t : Triangulation ) return natural;
! 93:
! 94: -- DESCRIPTION :
! 95: -- Computes n! times the volume of the simplices in the triangulation.
! 96:
! 97: -- DESTRUCTOR :
! 98:
! 99: procedure Clear ( t : in out Triangulation );
! 100:
! 101: -- DESCRIPTION :
! 102: -- Frees the allocated memory space.
! 103:
! 104: end Triangulations;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>