Go to the source code of this file.
Classes | |
struct | internal::intersector_helper1< Volume1, Object1, Object2, Intersector > |
struct | internal::intersector_helper2< Volume2, Object2, Object1, Intersector > |
struct | internal::minimizer_helper1< Volume1, Object1, Object2, Minimizer > |
struct | internal::minimizer_helper2< Volume2, Object2, Object1, Minimizer > |
Namespaces | |
namespace | internal |
Functions | |
template<typename BVH , typename Intersector > | |
void | BVIntersect (const BVH &tree, Intersector &intersector) |
template<typename BVH1 , typename BVH2 , typename Intersector > | |
void | BVIntersect (const BVH1 &tree1, const BVH2 &tree2, Intersector &intersector) |
template<typename BVH , typename Minimizer > | |
Minimizer::Scalar | BVMinimize (const BVH &tree, Minimizer &minimizer) |
template<typename BVH1 , typename BVH2 , typename Minimizer > | |
Minimizer::Scalar | BVMinimize (const BVH1 &tree1, const BVH2 &tree2, Minimizer &minimizer) |
template<typename BVH , typename Intersector > | |
bool | internal::intersect_helper (const BVH &tree, Intersector &intersector, typename BVH::Index root) |
template<typename BVH , typename Minimizer > | |
Minimizer::Scalar | internal::minimize_helper (const BVH &tree, Minimizer &minimizer, typename BVH::Index root, typename Minimizer::Scalar minimum) |
void BVIntersect | ( | const BVH & | tree, |
Intersector & | intersector | ||
) |
Given a BVH, runs the query encapsulated by intersector. The Intersector type must provide the following members:
bool intersectVolume(const BVH::Volume &volume) //returns true if volume intersects the query bool intersectObject(const BVH::Object &object) //returns true if the search should terminate immediately
Definition at line 92 of file BVAlgorithms.h.
void BVIntersect | ( | const BVH1 & | tree1, |
const BVH2 & | tree2, | ||
Intersector & | intersector | ||
) |
Given two BVH's, runs the query on their Cartesian product encapsulated by intersector. The Intersector type must provide the following members:
bool intersectVolumeVolume(const BVH1::Volume &v1, const BVH2::Volume &v2) //returns true if product of volumes intersects the query bool intersectVolumeObject(const BVH1::Volume &v1, const BVH2::Object &o2) //returns true if the volume-object product intersects the query bool intersectObjectVolume(const BVH1::Object &o1, const BVH2::Volume &v2) //returns true if the volume-object product intersects the query bool intersectObjectObject(const BVH1::Object &o1, const BVH2::Object &o2) //returns true if the search should terminate immediately
Definition at line 106 of file BVAlgorithms.h.
Minimizer::Scalar BVMinimize | ( | const BVH & | tree, |
Minimizer & | minimizer | ||
) |
Given a BVH, runs the query encapsulated by minimizer.
Definition at line 232 of file BVAlgorithms.h.
Minimizer::Scalar BVMinimize | ( | const BVH1 & | tree1, |
const BVH2 & | tree2, | ||
Minimizer & | minimizer | ||
) |
Given two BVH's, runs the query on their cartesian product encapsulated by minimizer.
typedef Scalar //the numeric type of what is being minimized--not necessarily the Scalar type of the BVH (if it has one) Scalar minimumOnVolumeVolume(const BVH1::Volume &v1, const BVH2::Volume &v2) Scalar minimumOnVolumeObject(const BVH1::Volume &v1, const BVH2::Object &o2) Scalar minimumOnObjectVolume(const BVH1::Object &o1, const BVH2::Volume &v2) Scalar minimumOnObjectObject(const BVH1::Object &o1, const BVH2::Object &o2)
Definition at line 248 of file BVAlgorithms.h.