Classes | Namespaces | Functions
BVAlgorithms.h File Reference

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)

Function Documentation

template<typename BVH , typename Intersector >
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.

template<typename BVH1 , typename BVH2 , typename Intersector >
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.

template<typename BVH , typename Minimizer >
Minimizer::Scalar BVMinimize ( const BVH &  tree,
Minimizer &  minimizer 
)

Given a BVH, runs the query encapsulated by minimizer.

Returns:
the minimum value. The Minimizer type must provide the following members:
     typedef Scalar //the numeric type of what is being minimized--not necessarily the Scalar type of the BVH (if it has one)
     Scalar minimumOnVolume(const BVH::Volume &volume)
     Scalar minimumOnObject(const BVH::Object &object)

Definition at line 232 of file BVAlgorithms.h.

template<typename BVH1 , typename BVH2 , typename Minimizer >
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.

Returns:
the minimum value. The Minimizer type must provide the following members:
     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.



libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:34:05