Collaboration diagram for col::Dop:
Access, Attributes | |
float & | operator[] (const unsigned int k) |
Get k-th component of DOP. | |
float | operator[] (const unsigned int k) const |
Get k-th component of DOP, result is const. | |
float | max (unsigned int *k=NULL) const |
Get max component of a Dop. | |
bool | isDegenerate (void) const |
Check whether DOP is degenerate. | |
static unsigned int | mostParallelOri (const Vec3f &diag, Vec3f *ori=NULL) |
Find the orientation which is "most parallel" to a given vector. | |
Public Member Functions | |
Constructors | |
Dop () | |
Default ctor. | |
Dop (const Dop &source) | |
Copy constructor. | |
Dop (const Pnt3f &pnt) | |
Initialize DOP from a single point. | |
Dop (const Dop *source) | |
Construct from pointer. | |
void | setValues (float val[NumOri]) |
Set coefficients of DOP explicitely. | |
Operators | |
void | operator+= (const Dop &other) |
Increase DOP by extent of other DOP (if necessary). | |
void | operator+= (const Pnt3f &pnt) |
Increase DOP to include point. | |
void | operator+= (float delta) |
Increase DOP by a delta. | |
void | operator-= (const Dop &other) |
Subtract DOP components. | |
Dop | operator * (const DopTransform &tf) const |
Transform a DOP. | |
void | extend (float delta) |
Increase DOP by a delta. | |
Assignment, Initialization | |
void | operator= (const Pnt3f &pnt) |
Initialize DOP from a single point. | |
void | operator= (const Dop &other) |
Initialize DOP from another DOP. | |
void | operator= (float f) |
Initialize all components of the DOP with the same value. | |
Comparison | |
bool | operator== (const Dop &other) const |
Check if all coefficients are (almost) the same. | |
bool | operator!= (const Dop &other) const |
Check if some coefficient is unequal. | |
bool | overlap (const Dop &other) const |
Check whether two DOPs overlap. | |
Debugging | |
void | print (void) const |
Print all components of a Dop. | |
osg::NodePtr | getGeom (void) const |
Create a polyhedron from a DOP. | |
Public Attributes | |
float | d [NumOri] |
Static Public Attributes | |
static const unsigned int | NumOri = 24 |
number of orientations of Dop's (= k) |
col::Dop::Dop | ( | ) |
Default ctor.
Components are not initialized!
col::Dop::Dop | ( | const Pnt3f & | pnt | ) |
Initialize DOP from a single point.
pnt | The point |
pnt
onto the corresponding orientation.
col::Dop::Dop | ( | const Dop * | source | ) |
Construct from pointer.
source | another DOP |
void col::Dop::setValues | ( | float | val[NumOri] | ) |
Set coefficients of DOP explicitely.
For debugging.
XDopTree | If the DOP would be degenerate (i.e., coefficients of anti-parallel orientations are reversed). |
val | array of values |
void col::Dop::operator+= | ( | const Dop & | other | ) |
Increase DOP by extent of other DOP (if necessary).
other | another DOP |
void col::Dop::operator+= | ( | const Pnt3f & | pnt | ) |
Increase DOP to include point.
pnt | point |
void col::Dop::operator+= | ( | float | delta | ) |
Increase DOP by a delta.
void col::Dop::operator-= | ( | const Dop & | other | ) |
Subtract DOP components.
other | another DOP |
void col::Dop::operator= | ( | const Pnt3f & | pnt | ) |
Dop col::Dop::operator * | ( | const DopTransform & | tf | ) | const |
bool col::Dop::operator== | ( | const Dop & | other | ) | const |
Check if all coefficients are (almost) the same.
other | DOP |
bool col::Dop::operator!= | ( | const Dop & | other | ) | const |
Check if some coefficient is unequal.
other | DOP |
float col::Dop::max | ( | unsigned int * | k = NULL |
) | const |
Get max component of a Dop.
k | Index of max component (NULL = don't care) |
bool col::Dop::overlap | ( | const Dop & | other | ) | const |
Check whether two DOPs overlap.
other | DOP |
bool col::Dop::isDegenerate | ( | void | ) | const |
Check whether DOP is degenerate.
void col::Dop::extend | ( | float | delta | ) |
Increase DOP by a delta.
unsigned int col::Dop::mostParallelOri | ( | const Vec3f & | diag, | |
Vec3f * | ori = NULL | |||
) | [static] |
Find the orientation which is "most parallel" to a given vector.
diag | Vector | |
ori | The orientation found (out; NULL=ok) |
ori
).osg::NodePtr col::Dop::getGeom | ( | void | ) | const |
Create a polyhedron from a DOP.
Every time this method is called, a new geometry is created, even if it is the same Dop!
All Dop's share the same material.
XColBug | If there are too many points (NumPnts). (shouldn't happen) |