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

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift / unfolding_subdivisions.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:28 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;

package Unfolding_Subdivisions is

-- DESCRIPTION :
--   This package contains routines to unfold subdivisions.

  function Different_Normals ( mixsub : Mixed_Subdivision ) return List;

  -- DESCRIPTION :
  --   Returns the list of all different normals of the cells in mixsub.

  function Extract ( normal : vector; mixsub : Mixed_Subdivision )
                   return Mixed_Subdivision;
  
  -- DESCRIPTION :
  --   Returns a list of cells with the given normal.

  function Merge_Same_Normal ( mixsub : Mixed_Subdivision ) return Mixed_Cell;
  function Merge_Same_Normal ( mixsub : Mixed_Subdivision )
                             return Mixed_Subdivision;

  -- DESCRIPTION :
  --   All cells with the same inner normal will be put in one cell,
  --   that will be contained in the mixed subdivision on return.
  --   The refinement of the cells will be discarded.

  -- REQUIRED :
  --   not Is_Null(mixsub) and all mixed cells have the same inner normal.

  function Merge ( mixsub : Mixed_Subdivision ) return Mixed_Subdivision;

  -- DESCRIPTION :
  --   All cells with the same inner normal will be put in one cell.
  --   For cells whose inner normal occurs more than once, the refinement
  --   will be discarded.

  function Relift ( mixsub : Mixed_Subdivision; point : Vector )
                  return Mixed_Subdivision;

  -- DESCRIPTION :
  --   Returns a new mixed subdivision, derived from the original one,
  --   where all points different from the given point will be given
  --   lifting value zero.  The given point will receive lifting value 1.

  generic

    with procedure Process ( mic : in Mixed_Cell; newpts : in Array_of_Lists );
    -- DESCRIPTION :
    --   Returns the new mixed cell, with the new re-lifted points.

  procedure Unfolding ( mixsub : in out Mixed_Subdivision );

  -- DESCRIPTION :
  --   A collection of cells, all with the same normal, will be unfolded.

end Unfolding_Subdivisions;