#include <vcg/math/base.h>
#include <vcg/space/point3.h>
#include <vcg/space/line3.h>
#include <vcg/space/ray3.h>
#include <vcg/space/plane3.h>
#include <vcg/space/segment3.h>
#include <vcg/space/sphere3.h>
#include <vcg/space/triangle3.h>
#include <vcg/space/intersection/triangle_triangle3.h>
Go to the source code of this file.
Classes | |
class | vcg::RayTriangleIntersectionFunctor< BACKFACETEST > |
Namespaces | |
namespace | vcg |
* | |
Defines | |
#define | EPSIL 0.000001 |
Functions | |
template<class T > | |
bool | vcg::IntersectionLineBox (const Box3< T > &box, const Line3< T > &r, Point3< T > &coord) |
template<class T > | |
bool | vcg::IntersectionLinePlane (const Plane3< T > &pl, const Line3< T > &li, Point3< T > &po) |
intersection between line and plane | |
template<class T > | |
bool | vcg::IntersectionLineSphere (const Sphere3< T > &sp, const Line3< T > &li, Point3< T > &p0, Point3< T > &p1) |
interseciton between sphere and line | |
template<class T > | |
bool | vcg::IntersectionLineTriangle (const Line3< T > &line, const Point3< T > &vert0, const Point3< T > &vert1, const Point3< T > &vert2, T &t, T &u, T &v) |
template<class ScalarType > | |
bool | vcg::IntersectionPlaneBox (const vcg::Plane3< ScalarType > &pl, vcg::Box3< ScalarType > &bbox) |
template<class T > | |
bool | vcg::IntersectionPlanePlane (const Plane3< T > &plane0, const Plane3< T > &plane1, Line3< T > &line) |
template<class T > | |
bool | vcg::IntersectionPlaneSegment (const Plane3< T > &pl, const Segment3< T > &s, Point3< T > &p0) |
intersection between segment and plane | |
template<class ScalarType > | |
bool | vcg::IntersectionPlaneSegmentEpsilon (const Plane3< ScalarType > &pl, const Segment3< ScalarType > &sg, Point3< ScalarType > &po, const ScalarType epsilon=ScalarType(1e-8)) |
intersection between segment and plane | |
template<class ScalarType > | |
bool | vcg::IntersectionPlaneSphere (const Plane3< ScalarType > &pl, const Sphere3< ScalarType > &sphere, Point3< ScalarType > ¢er, ScalarType &radius) |
template<typename TRIANGLETYPE > | |
bool | vcg::IntersectionPlaneTriangle (const Plane3< typename TRIANGLETYPE::ScalarType > &pl, const TRIANGLETYPE &tr, Segment3< typename TRIANGLETYPE::ScalarType > &sg) |
intersection between plane and triangle | |
template<class T > | |
bool | vcg::IntersectionRayBox (const Box3< T > &box, const Ray3< T > &r, Point3< T > &coord) |
template<class T > | |
bool | vcg::IntersectionRayTriangle (const Ray3< T > &ray, const Point3< T > &vert0, const Point3< T > &vert1, const Point3< T > &vert2, T &t, T &u, T &v) |
template<class ScalarType > | |
int | vcg::IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord0, Point3< ScalarType > &coord1) |
template<class ScalarType > | |
bool | vcg::IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord) |
template<class SCALAR_TYPE > | |
int | vcg::IntersectionSegmentSphere (const Sphere3< SCALAR_TYPE > &sphere, const Segment3< SCALAR_TYPE > &segment, Point3< SCALAR_TYPE > &t0, Point3< SCALAR_TYPE > &t1) |
template<class TriangleType > | |
bool | vcg::IntersectionSegmentTriangle (const vcg::Segment3< typename TriangleType::ScalarType > &seg, const TriangleType &t, typename TriangleType::ScalarType &a, typename TriangleType::ScalarType &b, typename TriangleType::ScalarType &dist) |
template<class ScalarType > | |
bool | vcg::IntersectionSegmentTriangle (const vcg::Segment3< ScalarType > &seg, const Point3< ScalarType > &vert0, const Point3< ScalarType > &vert1, const Point3< ScalarType > &vert2, ScalarType &a, ScalarType &b, ScalarType &dist) |
template<class SphereType > | |
bool | vcg::IntersectionSphereSphere (const SphereType &s0, const SphereType &s1) |
template<class SCALAR_TYPE , class TRIANGLETYPE > | |
bool | vcg::IntersectionSphereTriangle (const vcg::Sphere3< SCALAR_TYPE > &sphere, TRIANGLETYPE triangle, vcg::Point3< SCALAR_TYPE > &witness, std::pair< SCALAR_TYPE, SCALAR_TYPE > *res=NULL) |
template<class ScalarType > | |
bool | vcg::IntersectionTriangleBox (const vcg::Box3< ScalarType > &bbox, const vcg::Point3< ScalarType > &p0, const vcg::Point3< ScalarType > &p1, const vcg::Point3< ScalarType > &p2) |
template<class T > | |
bool | vcg::IntersectionTriangleTriangle (Point3< T > V0, Point3< T > V1, Point3< T > V2, Point3< T > U0, Point3< T > U1, Point3< T > U2) |
template<typename TRIANGLETYPE > | |
bool | vcg::IntersectionTriangleTriangle (const TRIANGLETYPE &t0, const TRIANGLETYPE &t1) |
intersection between two triangles |
#define EPSIL 0.000001 |