Inherits Parma_Polyhedra_Library::Polyhedron.
Public Member Functions | |
NNC_Polyhedron (dimension_type num_dimensions=0, Degenerate_Element kind=UNIVERSE) | |
Builds either the universe or the empty NNC polyhedron. | |
NNC_Polyhedron (const Constraint_System &cs) | |
Builds an NNC polyhedron from a system of constraints. | |
NNC_Polyhedron (Constraint_System &cs) | |
Builds an NNC polyhedron recycling a system of constraints. | |
NNC_Polyhedron (const Generator_System &gs) | |
Builds an NNC polyhedron from a system of generators. | |
NNC_Polyhedron (Generator_System &gs) | |
Builds an NNC polyhedron recycling a system of generators. | |
NNC_Polyhedron (const Congruence_System &cgs) | |
Builds an NNC polyhedron from a system of congruences. | |
NNC_Polyhedron (Congruence_System &cgs) | |
Builds an NNC polyhedron recycling a system of congruences. | |
NNC_Polyhedron (const C_Polyhedron &y) | |
Builds an NNC polyhedron from the C polyhedron y . | |
template<typename Box> | |
NNC_Polyhedron (const Box &box, From_Bounding_Box dummy) | |
Builds an NNC polyhedron out of a generic, interval-based bounding box. | |
NNC_Polyhedron (const NNC_Polyhedron &y) | |
Ordinary copy-constructor. | |
NNC_Polyhedron & | operator= (const NNC_Polyhedron &y) |
The assignment operator. (*this and y can be dimension-incompatible.). | |
NNC_Polyhedron & | operator= (const C_Polyhedron &y) |
Assigns to *this the C polyhedron y . | |
~NNC_Polyhedron () | |
Destructor. | |
bool | poly_hull_assign_if_exact (const NNC_Polyhedron &y) |
If the poly-hull of *this and y is exact it is assigned to *this and true is returned, otherwise false is returned. | |
bool | upper_bound_assign_if_exact (const NNC_Polyhedron &y) |
Same as poly_hull_assign_if_exact(y). |
An object of the class NNC_Polyhedron represents a not necessarily closed (NNC) convex polyhedron in the vector space .
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | dimension_type | num_dimensions = 0 , |
|
Degenerate_Element | kind = UNIVERSE | |||
) | [inline, explicit] |
Builds either the universe or the empty NNC polyhedron.
num_dimensions | The number of dimensions of the vector space enclosing the NNC polyhedron; | |
kind | Specifies whether a universe or an empty NNC polyhedron should be built. |
std::length_error | Thrown if num_dimensions exceeds the maximum allowed space dimension. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | const Constraint_System & | cs | ) | [inline, explicit] |
Builds an NNC polyhedron from a system of constraints.
The polyhedron inherits the space dimension of the constraint system.
cs | The system of constraints defining the polyhedron. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | Constraint_System & | cs | ) | [inline, explicit] |
Builds an NNC polyhedron recycling a system of constraints.
The polyhedron inherits the space dimension of the constraint system.
cs | The system of constraints defining the polyhedron. It is not declared const because its data-structures will be recycled to build the polyhedron. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | const Generator_System & | gs | ) | [inline, explicit] |
Builds an NNC polyhedron from a system of generators.
The polyhedron inherits the space dimension of the generator system.
gs | The system of generators defining the polyhedron. |
std::invalid_argument | Thrown if the system of generators is not empty but has no points. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | Generator_System & | gs | ) | [inline, explicit] |
Builds an NNC polyhedron recycling a system of generators.
The polyhedron inherits the space dimension of the generator system.
gs | The system of generators defining the polyhedron. It is not declared const because its data-structures will be recycled to build the polyhedron. |
std::invalid_argument | Thrown if the system of generators is not empty but has no points. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | const Congruence_System & | cgs | ) | [explicit] |
Builds an NNC polyhedron from a system of congruences.
The polyhedron inherits the space dimension of the congruence system.
cgs | The system of congruences defining the polyhedron. It is not declared const because its data-structures will be recycled to build the polyhedron. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | Congruence_System & | cgs | ) | [explicit] |
Builds an NNC polyhedron recycling a system of congruences.
The polyhedron inherits the space dimension of the congruence system.
cgs | The system of congruences defining the polyhedron. It is not declared const because its data-structures will be recycled to build the polyhedron. |
Parma_Polyhedra_Library::NNC_Polyhedron::NNC_Polyhedron | ( | const Box & | box, | |
From_Bounding_Box | dummy | |||
) | [inline] |
Builds an NNC polyhedron out of a generic, interval-based bounding box.
For a description of the methods that should be provided by the template class Box, see the documentation of the protected method: template <typename Box> Polyhedron::Polyhedron(Topology topol, const Box& box);
box | The bounding box representing the polyhedron to be built; | |
dummy | A dummy tag to syntactically differentiate this one from the other constructors. |
std::length_error | Thrown if the space dimension of box exceeds the maximum allowed space dimension. |
bool Parma_Polyhedra_Library::NNC_Polyhedron::poly_hull_assign_if_exact | ( | const NNC_Polyhedron & | y | ) |
If the poly-hull of *this
and y
is exact it is assigned to *this
and true
is returned, otherwise false
is returned.
std::invalid_argument | Thrown if *this and y are dimension-incompatible. |