#include "bvgl_intersection.h"
#include <vcl_limits.h>
#include <vcl_cassert.h>
#include <vcl_cmath.h>
#include <vcl_algorithm.h>
#include <vcl_vector.h>
Go to the source code of this file.
Namespaces | |
namespace | bvgl_intersection_helpers |
Defines | |
#define | bvgl_intersection_txx_ |
#define | BVGL_INTERSECTION_INSTANTIATE(T) template bool bvgl_intersection(vgl_box_3d<T > const& A, bvgl_triangle_3d<T > const& B) |
Enumerations | |
enum | bvgl_intersection_helpers::Axes { bvgl_intersection_helpers::X = 0, bvgl_intersection_helpers::Y = 1, bvgl_intersection_helpers::Z = 2 } |
Functions | |
template<typename T > | |
void | bvgl_intersection_helpers::cross (T dest[3], T a[3], T b[3]) |
template<typename T > | |
T | bvgl_intersection_helpers::dot (T a[3], T b[3]) |
template<typename T > | |
void | bvgl_intersection_helpers::subtract (T dest[3], T a[3], T b[3]) |
template<typename T > | |
void | bvgl_intersection_helpers::findMinMax (T x0, T x1, T x2, T &min, T &max) |
template<typename T > | |
bool | bvgl_intersection_helpers::planeBoxIntersect (T normal[3], T d, T maxbox[3]) |
template<int Axis0, int Axis1, typename T > | |
bool | bvgl_intersection_helpers::axisTest (T edge[3], T fedge[3], T v0[3], T v1[3], T boxhalfsize[3]) |
template<typename T > | |
bool | bvgl_intersection (vgl_box_3d< T > const &A, bvgl_triangle_3d< T > const &B) |
calculate the volume of intersection between these two spheres. |
implementation based on code from Tomas Akenine-Moller http://jgt.akpeters.com/papers/AkenineMoller01/tribox.html
Definition in file bvgl_intersection.txx.
#define BVGL_INTERSECTION_INSTANTIATE | ( | T | ) | template bool bvgl_intersection(vgl_box_3d<T > const& A, bvgl_triangle_3d<T > const& B) |
Definition at line 151 of file bvgl_intersection.txx.
#define bvgl_intersection_txx_ |
Definition at line 3 of file bvgl_intersection.txx.
bool bvgl_intersection | ( | vgl_box_3d< T > const & | A, |
bvgl_triangle_3d< T > const & | B | ||
) |
calculate the volume of intersection between these two spheres.
returns true if 3d box A intersects with 3d triangle B.
Definition at line 81 of file bvgl_intersection.txx.