5 #include <barvinok/polylib.h>
6 #include <barvinok/options.h>
9 void decompose(Polyhedron
*C
, barvinok_options
*options
);
10 virtual void handle(Polyhedron
*P
, int sign
) = 0;
13 struct polar_decomposer
: public decomposer
{
14 void decompose(Polyhedron
*C
, barvinok_options
*options
);
15 virtual void handle(Polyhedron
*P
, int sign
);
16 virtual void handle_polar(Polyhedron
*P
, int sign
) = 0;
19 struct vertex_decomposer
{
21 unsigned nbV
; // number of vertices
22 Param_Vertices
*V
; // current vertex
23 int vert
; // current vertex index
26 vertex_decomposer(Polyhedron
*P
, unsigned nbV
, polar_decomposer
*pd
) :
27 P(P
), nbV(nbV
), pd(pd
) {}
28 void decompose_at_vertex(Param_Vertices
*V
, int _i
, barvinok_options
*options
);