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>