with Standard_Floating_Numbers; use Standard_Floating_Numbers; with Standard_Integer_Vectors; use Standard_Integer_Vectors; with Standard_Floating_Vectors; with Arrays_of_Floating_Vector_Lists; use Arrays_of_Floating_Vector_Lists; with Floating_Faces_of_Polytope; use Floating_Faces_of_Polytope; with Floating_Mixed_Subdivisions; use Floating_Mixed_Subdivisions; package Floating_Pruning_Methods is -- DESCRIPTION : -- This package contains the creators of a regular mixed subdivision, -- based on the static lifting algorithm, for computing only those cells -- of a certain type, in particular the mixed cells. -- There are facilities for computing only the generating cells and for -- computing only the stable mixed cells. generic with procedure Process ( mic : in Mixed_Cell; continue : out boolean ); -- DESCRIPTION : -- This procedure will be invoked after each computation of a new cell. -- If the parameter continue is set on false, then the computation will -- be stopped, otherwise the creation continues. procedure Gen1_Create ( n : in natural; mix : in Vector; fa : in Array_of_Faces; lifted : in Array_of_Lists; tol : in double_float; nbsucc,nbfail : in out Standard_Floating_Vectors.Vector; mixsub : out Mixed_Subdivision ); procedure Create ( n : in natural; mix : in Vector; fa : in Array_of_Faces; lifted : in Array_of_Lists; tol : in double_float; nbsucc,nbfail : in out Standard_Floating_Vectors.Vector; mixsub : out Mixed_Subdivision ); -- DESCRIPTION : -- Creates a mixed subdivision with a criterium to check which -- face-face combinations can lead to a cell which contributes to -- the mixed volume. -- ON ENTRY : -- n dimension before lifting; -- mix type of mixture: indicates how many times each polytope -- occurs in the supports; -- fa faces of the lower hull of the lifted point sets: -- fa(i) contains the mix(i)-faces of conv(lifted(i)); -- lifted the lifted points; -- tol tolerance on the precision; -- ON RETURN : -- nbsucc number of times a face-face combination has passed the test, -- at each level; -- nbfail number of times a face-face combinations has failed to pass -- the test, at each level; -- mixsub collection of cells which contribute to the mixed volume. end Floating_Pruning_Methods;