Complex

Functions

template<typename GridType , typename ScalarType >
bool vcg::Intersect (GridType &grid, Plane3< ScalarType > plane, std::vector< typename GridType::Cell * > &cells)
template<typename TriMeshType , class ScalarType , class IndexingType >
bool vcg::Intersection (Plane3< ScalarType > pl, IndexingType *grid, typename std::vector< typename TriMeshType::FaceType * > &v)
template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::Intersection (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em)
template<typename TriMeshType , class ScalarType , class IndexingType >
void vcg::IntersectionBallMesh (IndexingType *grid, TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0)
template<typename TriMeshType , class ScalarType >
void vcg::IntersectionBallMesh (TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0)
template<typename TriMeshType , class ScalarType >
bool vcg::IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint, ScalarType &bar1, ScalarType &bar2, ScalarType &bar3, typename TriMeshType::FacePointer fp)
template<typename TriMeshType , class ScalarType >
bool vcg::IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint)

Detailed Description


Function Documentation

template<typename GridType , typename ScalarType >
bool vcg::Intersect ( GridType &  grid,
Plane3< ScalarType plane,
std::vector< typename GridType::Cell * > &  cells 
) [inline]

Function computing the intersection between a grid and a plane. It returns all the cells intersected

Definition at line 77 of file intersection.h.

template<typename TriMeshType , class ScalarType , class IndexingType >
bool vcg::Intersection ( Plane3< ScalarType pl,
IndexingType *  grid,
typename std::vector< typename TriMeshType::FaceType * > &  v 
) [inline]

Compute the intersection between a trimesh and a plane. given a plane return the set of faces that are contained into intersected cells.

Definition at line 221 of file intersection.h.

template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::Intersection ( TriMeshType &  m,
Plane3< ScalarType pl,
EdgeMeshType &  em 
) [inline]

Basic Function computing the intersection between a trimesh and a plane. It returns an EdgeMesh without needing anything else. Note: This version always returns a segment for each triangle of the mesh which intersects with the plane. In other words there are 2*n vertices where n is the number of segments fo the mesh. You can run vcg::edge:Unify to unify the vertices closer that a given value epsilon. Note that, due to subtraction error during triangle plane intersection, it is not safe to put epsilon to 0. TODO si dovrebbe considerare la topologia face-face della trimesh per derivare quella della edge mesh..

Definition at line 187 of file intersection.h.

template<typename TriMeshType , class ScalarType , class IndexingType >
void vcg::IntersectionBallMesh ( IndexingType *  grid,
TriMeshType &  m,
const vcg::Sphere3< ScalarType > &  ball,
TriMeshType &  res,
float  tol = 0 
) [inline]

Definition at line 402 of file intersection.h.

template<typename TriMeshType , class ScalarType >
void vcg::IntersectionBallMesh ( TriMeshType &  m,
const vcg::Sphere3< ScalarType > &  ball,
TriMeshType &  res,
float  tol = 0 
) [inline]

Compute the intersection between a mesh and a ball. given a mesh return a new mesh made by a copy of all the faces entirely includeded in the ball plus new faces created by refining the ones intersected by the ball border. It works by recursively splitting the triangles that cross the border, as long as their area is greater than a given value tol. If no value is provided, 1/10^5*2*pi*radius is used NOTE: the returned mesh is a triangle soup

Definition at line 338 of file intersection.h.

template<typename TriMeshType , class ScalarType >
bool vcg::IntersectionRayMesh ( TriMeshType *  m,
const Line3< ScalarType > &  ray,
Point3< ScalarType > &  hitPoint,
ScalarType bar1,
ScalarType bar2,
ScalarType bar3,
typename TriMeshType::FacePointer  fp 
) [inline]

Computes the intersection between a Ray and a Mesh. Returns a 3D Pointset, baricentric's coordinates and a pointer of intersected face.

Definition at line 289 of file intersection.h.

template<typename TriMeshType , class ScalarType >
bool vcg::IntersectionRayMesh ( TriMeshType *  m,
const Line3< ScalarType > &  ray,
Point3< ScalarType > &  hitPoint 
) [inline]

Computes the intersection between a Ray and a Mesh. Returns a 3D Pointset.

Definition at line 251 of file intersection.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:21:29 2013