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

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