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) |
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.
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.
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.
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.
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.
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.
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.