24 #include <boost/shared_ptr.hpp>
38 friend class constIteratorOfListOfPolyhedralCones;
54 void addPolyhedralCone(boost::shared_ptr<PolyhedralCone_Rn> hs) {_listOfPolyhedralCones.push_back(hs);}
57 void addVertex(boost::shared_ptr<Generator_Rn> vx) {_listOfVertices.push_back(vx);}
59 const std::vector< boost::shared_ptr<Generator_Rn> >&
getListOfGenerators()
const {
return _listOfVertices;}
66 bool checkTopologyAndGeometry()
const throw (std::domain_error);
79 void computeHyperplanesSeparationForProjection(const std::vector< boost::shared_ptr<
HalfSpace_Rn> >&, boost::shared_ptr<
Polytope_Rn>& );
82 void dump(std::ostream& out) const;
91 #endif // NORMALFAN_Rn
void addPolyhedralCone(boost::shared_ptr< PolyhedralCone_Rn > hs)
Add the current half-space in its list.
Model a polytope using its two equivalent definitions : the convex hull and the half-space intersecti...
A half-space whose frontier is a linear (n-1) dimension space. _constant + _coefficients[0].x1 + ... + _coefficients[n-1].xn >= 0.
Model a polyhedral cone using its two equivalent definitions : the convex hull and the half-space int...
void addVertex(boost::shared_ptr< Generator_Rn > vx)
Add the current vertex in its list.
~NormalFan_Rn()
Destructor.
const std::vector< boost::shared_ptr< PolyhedralCone_Rn > > & getListOfPolyhedralCones() const
const std::vector< boost::shared_ptr< Generator_Rn > > & getListOfGenerators() const
A n-coordinates generator, which can be a vertex or an edge whether it is contained by a polytope or ...
NormalFan_Rn()
Constructor.
unsigned int numberOfPolyhedralCones() const
Get the total number of polyhedral cones.