politopix
5.0.0
|
A linear (n-1) dimension space in. More...
#include <HalfSpace_Rn.h>
Public Member Functions | |
Hyperplane_Rn (unsigned int n) | |
Constructor for polytopes i.e. bounded convex polyhedra. More... | |
virtual | ~Hyperplane_Rn () |
Destructor. More... | |
virtual void | dump (std::ostream &this_ostream) const |
virtual bool | testEmptyness (const std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_IN, const std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_OUT, const std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_ON) |
Specific to the double description algorithm Test whether an intersection with a hyperplane has generated an empty set or not. More... | |
virtual bool | testEmptyness (unsigned int GN_IN, unsigned int GN_OUT, unsigned int GN_ON) |
Specific to the double description algorithm Test whether an intersection with a hyperplane has generated an empty set or not. More... | |
virtual void | noGeneratorsOUT (std::vector< boost::shared_ptr< Generator_Rn_SD > > &listOfGeneratorSD, const std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_ON) |
Specific to the double description algorithm When chopping a polyhedral body with a hyperplane, if the set of generators OUT is empty, only keep the generators ON and ignore the generators IN. In the case of a half-space, keep things unchanged i.e. listOfGeneratorSD = GN_IN + GN_ON. More... | |
virtual void | prepareSetOfGenerators (std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_IN, std::vector< boost::shared_ptr< Generator_Rn_SD > > &GN_OUT) |
Specific to the double description algorithm When chopping a polyhedral body with a hyperplane, if the set of generators OUT is empty, only keep the generators ON and ignore the generators IN. In the case of a half-space, keep things unchanged i.e. listOfGeneratorSD = GN_IN + GN_ON. More... | |
![]() | |
HalfSpace_Rn () | |
Constructor. More... | |
HalfSpace_Rn (unsigned int n) | |
virtual | ~HalfSpace_Rn () |
void | setCoefficients (const vector< double > &vec) |
double | getCoefficient (unsigned int i) const |
void | setCoefficient (unsigned int i, double c) |
void | setConstant (double c) |
double | getConstant () const |
void | negate () |
int | dimension () const |
std::string | getSideAsText () const |
boost::numeric::ublas::vector< double >::const_iterator | begin () const |
boost::numeric::ublas::vector< double >::const_iterator | end () const |
const boost::numeric::ublas::vector< double > & | vect () const |
double | computeDistancePointHyperplane (const boost::numeric::ublas::vector< double > &thisPoint) const |
double | computeDistancePointHyperplane (const boost::numeric::ublas::vector< double > &thisPoint, double halfSpaceNorm) const |
double | computeDistancePointHyperplane (const boost::numeric::ublas::vector< double > &thisPoint, boost::numeric::ublas::vector< double > &projectedPoint, double halfSpaceNorm) const |
void | print () const |
Additional Inherited Members | |
![]() | |
enum | State { hs_ON = 0, hs_IN = 1, hs_OUT = 2, hs_UNKNOWN = 3, hs_IN_OR_OUT = 4, hs_OUT_TO_ON = 5 } |
![]() | |
static std::string | getStateAsText (const HalfSpace_Rn::State &) |
![]() | |
boost::numeric::ublas::vector< double > | _coefficients |
The normal vector. More... | |
double | _constant |
The second member constant. More... | |
A linear (n-1) dimension space in.
\[ \mathbb{R}^n \]
.
_constant + _coefficients[0].x1 + ... + _coefficients[n-1].xn = 0.
Definition at line 188 of file HalfSpace_Rn.h.
|
inline |
Constructor for polytopes i.e. bounded convex polyhedra.
Definition at line 192 of file HalfSpace_Rn.h.
|
inlinevirtual |
Destructor.
Definition at line 195 of file HalfSpace_Rn.h.
|
inlinevirtual |
Reimplemented from HalfSpace_Rn.
Definition at line 197 of file HalfSpace_Rn.h.
|
inlinevirtual |
Specific to the double description algorithm When chopping a polyhedral body with a hyperplane, if the set of generators OUT is empty, only keep the generators ON and ignore the generators IN. In the case of a half-space, keep things unchanged i.e. listOfGeneratorSD = GN_IN + GN_ON.
Reimplemented from HalfSpace_Rn.
Definition at line 228 of file HalfSpace_Rn.h.
|
inlinevirtual |
Specific to the double description algorithm When chopping a polyhedral body with a hyperplane, if the set of generators OUT is empty, only keep the generators ON and ignore the generators IN. In the case of a half-space, keep things unchanged i.e. listOfGeneratorSD = GN_IN + GN_ON.
Specific to the double description algorithm When we perform a flat truncation the set of generators IN . is transferred into the set of generators OUT as both of them will be dropped . then it is emptied before receiving the generators ON and NEW i.e. the ones we keep
Reimplemented from HalfSpace_Rn.
Definition at line 244 of file HalfSpace_Rn.h.
|
inlinevirtual |
Specific to the double description algorithm Test whether an intersection with a hyperplane has generated an empty set or not.
Reimplemented from HalfSpace_Rn.
Definition at line 210 of file HalfSpace_Rn.h.
|
inlinevirtual |
Specific to the double description algorithm Test whether an intersection with a hyperplane has generated an empty set or not.
Reimplemented from HalfSpace_Rn.
Definition at line 219 of file HalfSpace_Rn.h.