A half-space whose frontier is a linear (n-1) dimension space.
_constant + _coefficients[0].x1 + ... + _coefficients[n-1].xn >= 0.
More...
#include <HalfSpace_Rn.h>
|
| 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 |
|
virtual void | dump (std::ostream &this_ostream) const |
|
void | print () 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 half-space 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 half-space 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...
|
|
A half-space whose frontier is a linear (n-1) dimension space.
_constant + _coefficients[0].x1 + ... + _coefficients[n-1].xn >= 0.
Definition at line 40 of file HalfSpace_Rn.h.
◆ State
Enumerator |
---|
hs_ON | |
hs_IN | |
hs_OUT | |
hs_UNKNOWN | |
hs_IN_OR_OUT | |
hs_OUT_TO_ON | |
Definition at line 44 of file HalfSpace_Rn.h.
◆ HalfSpace_Rn() [1/2]
HalfSpace_Rn::HalfSpace_Rn |
( |
| ) |
|
|
inline |
◆ HalfSpace_Rn() [2/2]
HalfSpace_Rn::HalfSpace_Rn |
( |
unsigned int |
n | ) |
|
◆ ~HalfSpace_Rn()
virtual HalfSpace_Rn::~HalfSpace_Rn |
( |
| ) |
|
|
inlinevirtual |
◆ begin()
boost::numeric::ublas::vector<double>::const_iterator HalfSpace_Rn::begin |
( |
| ) |
const |
|
inline |
◆ computeDistancePointHyperplane() [1/3]
double HalfSpace_Rn::computeDistancePointHyperplane |
( |
const boost::numeric::ublas::vector< double > & |
thisPoint | ) |
const |
|
inline |
◆ computeDistancePointHyperplane() [2/3]
double HalfSpace_Rn::computeDistancePointHyperplane |
( |
const boost::numeric::ublas::vector< double > & |
thisPoint, |
|
|
boost::numeric::ublas::vector< double > & |
projectedPoint, |
|
|
double |
halfSpaceNorm |
|
) |
| const |
|
inline |
◆ computeDistancePointHyperplane() [3/3]
double HalfSpace_Rn::computeDistancePointHyperplane |
( |
const boost::numeric::ublas::vector< double > & |
thisPoint, |
|
|
double |
halfSpaceNorm |
|
) |
| const |
|
inline |
◆ dimension()
int HalfSpace_Rn::dimension |
( |
| ) |
const |
|
inline |
◆ dump()
virtual void HalfSpace_Rn::dump |
( |
std::ostream & |
this_ostream | ) |
const |
|
inlinevirtual |
◆ end()
boost::numeric::ublas::vector<double>::const_iterator HalfSpace_Rn::end |
( |
| ) |
const |
|
inline |
◆ getCoefficient()
double HalfSpace_Rn::getCoefficient |
( |
unsigned int |
i | ) |
const |
◆ getConstant()
double HalfSpace_Rn::getConstant |
( |
| ) |
const |
|
inline |
◆ getSideAsText()
std::string HalfSpace_Rn::getSideAsText |
( |
| ) |
const |
|
inline |
◆ getStateAsText()
◆ negate()
void HalfSpace_Rn::negate |
( |
| ) |
|
|
inline |
◆ noGeneratorsOUT()
virtual void HalfSpace_Rn::noGeneratorsOUT |
( |
std::vector< boost::shared_ptr< Generator_Rn_SD > > & |
listOfGeneratorSD, |
|
|
const std::vector< boost::shared_ptr< Generator_Rn_SD > > & |
GN_ON |
|
) |
| |
|
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 in Hyperplane_Rn.
Definition at line 143 of file HalfSpace_Rn.h.
◆ prepareSetOfGenerators()
virtual void HalfSpace_Rn::prepareSetOfGenerators |
( |
std::vector< boost::shared_ptr< Generator_Rn_SD > > & |
GN_IN, |
|
|
std::vector< boost::shared_ptr< Generator_Rn_SD > > & |
GN_OUT |
|
) |
| |
|
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 In the other case of an intersection with a half-space this function does nothing.
Reimplemented in Hyperplane_Rn.
Definition at line 158 of file HalfSpace_Rn.h.
◆ print()
void HalfSpace_Rn::print |
( |
| ) |
const |
|
inline |
◆ setCoefficient()
void HalfSpace_Rn::setCoefficient |
( |
unsigned int |
i, |
|
|
double |
c |
|
) |
| |
◆ setCoefficients()
void HalfSpace_Rn::setCoefficients |
( |
const vector< double > & |
vec | ) |
|
|
inline |
◆ setConstant()
void HalfSpace_Rn::setConstant |
( |
double |
c | ) |
|
|
inline |
◆ testEmptyness() [1/2]
virtual bool HalfSpace_Rn::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 |
|
) |
| |
|
inlinevirtual |
Specific to the double description algorithm Test whether an intersection with a half-space has generated an empty set or not.
Reimplemented in Hyperplane_Rn.
Definition at line 125 of file HalfSpace_Rn.h.
◆ testEmptyness() [2/2]
virtual bool HalfSpace_Rn::testEmptyness |
( |
unsigned int |
GN_IN, |
|
|
unsigned int |
GN_OUT, |
|
|
unsigned int |
GN_ON |
|
) |
| |
|
inlinevirtual |
Specific to the double description algorithm Test whether an intersection with a half-space has generated an empty set or not.
Reimplemented in Hyperplane_Rn.
Definition at line 134 of file HalfSpace_Rn.h.
◆ vect()
const boost::numeric::ublas::vector<double>& HalfSpace_Rn::vect |
( |
| ) |
const |
|
inline |
◆ _coefficients
boost::numeric::ublas::vector<double> HalfSpace_Rn::_coefficients |
|
protected |
◆ _constant
double HalfSpace_Rn::_constant |
|
protected |
The documentation for this class was generated from the following files:
- /mnt/c/Users/vindelos/Documents/TEST/TEST/co/politopix/trunk/HalfSpace_Rn.h
- /mnt/c/Users/vindelos/Documents/TEST/TEST/co/politopix/trunk/HalfSpace_Rn.cpp