6 #include <polylib/polylibgmp.h>
8 #include <barvinok/options.h>
11 void decompose(Polyhedron
*C
, barvinok_options
*options
);
12 virtual void handle(Polyhedron
*P
, int sign
) = 0;
15 struct polar_decomposer
: public decomposer
{
16 void decompose(Polyhedron
*C
, barvinok_options
*options
);
17 virtual void handle(Polyhedron
*P
, int sign
);
18 virtual void handle_polar(Polyhedron
*P
, int sign
) = 0;
21 struct vertex_decomposer
{
23 unsigned nbV
; // number of vertices
24 Param_Vertices
*V
; // current vertex
25 int vert
; // current vertex index
28 vertex_decomposer(Polyhedron
*P
, unsigned nbV
, polar_decomposer
*pd
) :
29 P(P
), nbV(nbV
), pd(pd
) {}
30 void decompose_at_vertex(Param_Vertices
*V
, int _i
, barvinok_options
*options
);