Functions
Complex

Functions

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 , class ScalarType >
void vcg::IntersectionBallMesh (TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0)
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 GridType , typename ScalarType >
bool vcg::IntersectionPlaneGrid (GridType &grid, Plane3< ScalarType > plane, std::vector< typename GridType::Cell * > &cells)
template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::IntersectionPlaneMesh (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em)
 More stable version of the IntersectionPlaneMesh function.
template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::IntersectionPlaneMeshOld (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em)
 Compute the intersection between a trimesh and a plane building an edge mesh.
template<typename TriMeshType , class ScalarType >
bool vcg::IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint)
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)

Function Documentation

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

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 212 of file intersection.h.

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

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

Definition at line 392 of file intersection.h.

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

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

Definition at line 48 of file intersection.h.

template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::IntersectionPlaneMesh ( TriMeshType &  m,
Plane3< ScalarType pl,
EdgeMeshType &  em 
)

More stable version of the IntersectionPlaneMesh function.

This version of the make a first pass storing the distance to the plane into a vertex attribute and then use this value to compute in a safe way the intersection.

Definition at line 141 of file intersection.h.

template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool vcg::IntersectionPlaneMeshOld ( TriMeshType &  m,
Plane3< ScalarType pl,
EdgeMeshType &  em 
)

Compute the intersection between a trimesh and a plane building an edge mesh.

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.

Definition at line 106 of file intersection.h.

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

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

Definition at line 241 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 
)

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 279 of file intersection.h.



shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:39:00