Developer Documentation
|
Classes | |
struct | less_pair_second |
struct | NearestNeighbor |
Store nearest neighbor information. More... | |
struct | NearestNeighborData |
Store nearest neighbor information. More... | |
struct | RayCollisionData |
Store ray collide information. More... | |
Public Types | |
typedef BSPCore::Traits | Traits |
typedef BSPCore::Handle | Handle |
typedef BSPCore::Point | Point |
typedef BSPCore::Scalar | Scalar |
typedef BSPCore::Node | Node |
typedef BSPCore::Handles | Handles |
typedef BSPCore::HandleIter | HandleIter |
typedef std::vector< std::pair < Handle, Scalar > > | RayCollision |
Store nearest neighbor information. | |
Public Member Functions | |
BSPImplT (const Traits &_traits, const Scalar &_infinity=std::numeric_limits< Scalar >::infinity()) | |
NearestNeighbor | nearest (const Point &_p) const |
Return handle of the nearest neighbor face. | |
RayCollision | raycollision (const Point &_p, const Point &_r) const |
intersect mesh with ray More... | |
RayCollision | directionalRaycollision (const Point &_p, const Point &_r) const |
intersect mesh with ray More... | |
RayCollision | nearestRaycollision (const Point &_p, const Point &_r) const |
intersect mesh with ray More... | |
Private Member Functions | |
void | _nearest (Node *_node, NearestNeighborData &_data) const |
void | _raycollision_non_directional (Node *_node, RayCollisionData &_data) const |
recursive part of raycollision() More... | |
void | _raycollision_directional (Node *_node, RayCollisionData &_data) const |
recursive part of directionalRaycollision() More... | |
void | _raycollision_nearest_directional (Node *_node, RayCollisionData &_data) const |
Private Attributes | |
const Scalar | infinity_ |
Definition at line 74 of file BSPImplT.hh.
|
private |
recursive part of directionalRaycollision()
_node | The current node in the tree |
_data | Data pointer, used to collect the collision information |
Definition at line 227 of file BSPImplT.cc.
|
private |
recursive part of raycollision()
_node | The current node in the tree |
_data | Data pointer, used to collect the collision information |
Definition at line 189 of file BSPImplT.cc.
BSPImplT< BSPCore >::RayCollision BSPImplT< BSPCore >::directionalRaycollision | ( | const Point & | _p, |
const Point & | _r | ||
) | const |
intersect mesh with ray
This function shots a ray through the mesh and collects all intersected triangles and the handle of the closest face ( directional, so the ray direction is taken into account!).
Only hits with a distance > 0.0 to the point p will be collected (_p will be skipped!)
_p | Start point of the ray |
_r | Ray direction |
Definition at line 152 of file BSPImplT.cc.
BSPImplT< BSPCore >::RayCollision BSPImplT< BSPCore >::nearestRaycollision | ( | const Point & | _p, |
const Point & | _r | ||
) | const |
intersect mesh with ray
This function shots a ray through the mesh and determines the first intersected triangle and the handle of the closest face ( directional, so the ray direction is taken into account!).
Only hits with a distance > 0.0 to the point p will be collected (_p will be skipped!). Note that for compatibility reasons the return type is still a vector of collisions.
_p | Start point of the ray |
_r | Ray direction |
Definition at line 170 of file BSPImplT.cc.
BSPImplT< BSPCore >::RayCollision BSPImplT< BSPCore >::raycollision | ( | const Point & | _p, |
const Point & | _r | ||
) | const |
intersect mesh with ray
This function shots a ray through the mesh and collects all intersected triangles and the handle of the closest face ( non-directional, so no matter of the ray direction, the closest face handle is returned in either direction)
_p | Start point of the ray |
_r | Ray direction |
Definition at line 135 of file BSPImplT.cc.