1 #ifndef TRAVERSER_SECONDARYFAN_H_INCLUDED 2 #define TRAVERSER_SECONDARYFAN_H_INCLUDED 3 4 #include "symmetrictraversal.h" 5 #include "triangulation2.h" 6 7 Triangulation2 triangulationWithFullDimensionalIntersection(Triangulation2 g, PolyhedralCone const &c); 8 9 class SecondaryFanTraverser: public ConeTraverser 10 { 11 Triangulation2 theTriangulation; 12 PolyhedralCone theCone; 13 PolyhedralCone theRestrictingCone; 14 // bool isHomogeneous; 15 bool isSecondaryFanComplete; 16 int n,d; 17 void updatePolyhedralCone(); 18 public: 19 SecondaryFanTraverser(Triangulation2 const &triangulation_); 20 SecondaryFanTraverser(Triangulation2 const &triangulation_, PolyhedralCone const &restrictingCone); 21 virtual void changeCone(IntegerVector const &ridgeVector, IntegerVector const &rayVector); 22 virtual IntegerVectorList link(IntegerVector const &ridgeVector); 23 PolyhedralCone & refToPolyhedralCone(); 24 }; 25 26 #endif 27