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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/unfolding_subdivisions.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
                      3: with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
                      4: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
                      5:
                      6: package Unfolding_Subdivisions is
                      7:
                      8: -- DESCRIPTION :
                      9: --   This package contains routines to unfold subdivisions.
                     10:
                     11:   function Different_Normals ( mixsub : Mixed_Subdivision ) return List;
                     12:
                     13:   -- DESCRIPTION :
                     14:   --   Returns the list of all different normals of the cells in mixsub.
                     15:
                     16:   function Extract ( normal : vector; mixsub : Mixed_Subdivision )
                     17:                    return Mixed_Subdivision;
                     18:
                     19:   -- DESCRIPTION :
                     20:   --   Returns a list of cells with the given normal.
                     21:
                     22:   function Merge_Same_Normal ( mixsub : Mixed_Subdivision ) return Mixed_Cell;
                     23:   function Merge_Same_Normal ( mixsub : Mixed_Subdivision )
                     24:                              return Mixed_Subdivision;
                     25:
                     26:   -- DESCRIPTION :
                     27:   --   All cells with the same inner normal will be put in one cell,
                     28:   --   that will be contained in the mixed subdivision on return.
                     29:   --   The refinement of the cells will be discarded.
                     30:
                     31:   -- REQUIRED :
                     32:   --   not Is_Null(mixsub) and all mixed cells have the same inner normal.
                     33:
                     34:   function Merge ( mixsub : Mixed_Subdivision ) return Mixed_Subdivision;
                     35:
                     36:   -- DESCRIPTION :
                     37:   --   All cells with the same inner normal will be put in one cell.
                     38:   --   For cells whose inner normal occurs more than once, the refinement
                     39:   --   will be discarded.
                     40:
                     41:   function Relift ( mixsub : Mixed_Subdivision; point : Vector )
                     42:                   return Mixed_Subdivision;
                     43:
                     44:   -- DESCRIPTION :
                     45:   --   Returns a new mixed subdivision, derived from the original one,
                     46:   --   where all points different from the given point will be given
                     47:   --   lifting value zero.  The given point will receive lifting value 1.
                     48:
                     49:   generic
                     50:
                     51:     with procedure Process ( mic : in Mixed_Cell; newpts : in Array_of_Lists );
                     52:     -- DESCRIPTION :
                     53:     --   Returns the new mixed cell, with the new re-lifted points.
                     54:
                     55:   procedure Unfolding ( mixsub : in out Mixed_Subdivision );
                     56:
                     57:   -- DESCRIPTION :
                     58:   --   A collection of cells, all with the same normal, will be unfolded.
                     59:
                     60: end Unfolding_Subdivisions;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>