Public Types | Static Public Member Functions | Private Types | Static Private Member Functions
vcg::tri::ConvexHull< InputMesh, CHMesh > Class Template Reference

#include <convex_hull.h>

List of all members.

Public Types

typedef CHMesh::FaceIterator CHFaceIterator
typedef CHMesh::FacePointer CHFacePointer
typedef CHMesh::VertexIterator CHVertexIterator
typedef CHMesh::VertexPointer CHVertexPointer
typedef InputMesh::CoordType CoordType
typedef InputMesh::VertexIterator InputVertexIterator
typedef InputMesh::VertexPointer InputVertexPointer
typedef InputMesh::ScalarType ScalarType

Static Public Member Functions

static bool ComputeConvexHull (InputMesh &mesh, CHMesh &convexHull)
static void ComputePointVisibility (InputMesh &m, CHMesh &visible, CoordType viewpoint, ScalarType logR=2)
 ComputePointVisibility Select the visible points in a point cloud, as viewed from a given viewpoint. It uses the Qhull implementation of che convex hull in the vcglibrary The algorithm used (Katz, Tal and Basri 2007) determines visibility without reconstructing a surface or estimating normals. A point is considered visible if its transformed point lies on the convex hull of a trasformed points cloud from the original mesh points.

Private Types

typedef std::pair
< InputVertexPointer,
ScalarType
Pair

Static Private Member Functions

static void InitConvexHull (InputMesh &mesh, CHMesh &convexHull)

Detailed Description

template<class InputMesh, class CHMesh>
class vcg::tri::ConvexHull< InputMesh, CHMesh >

Definition at line 39 of file convex_hull.h.


Member Typedef Documentation

template<class InputMesh , class CHMesh >
typedef CHMesh::FaceIterator vcg::tri::ConvexHull< InputMesh, CHMesh >::CHFaceIterator

Definition at line 50 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef CHMesh::FacePointer vcg::tri::ConvexHull< InputMesh, CHMesh >::CHFacePointer

Definition at line 51 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef CHMesh::VertexIterator vcg::tri::ConvexHull< InputMesh, CHMesh >::CHVertexIterator

Definition at line 48 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef CHMesh::VertexPointer vcg::tri::ConvexHull< InputMesh, CHMesh >::CHVertexPointer

Definition at line 49 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef InputMesh::CoordType vcg::tri::ConvexHull< InputMesh, CHMesh >::CoordType

Definition at line 45 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef InputMesh::VertexIterator vcg::tri::ConvexHull< InputMesh, CHMesh >::InputVertexIterator

Definition at line 47 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef InputMesh::VertexPointer vcg::tri::ConvexHull< InputMesh, CHMesh >::InputVertexPointer

Definition at line 46 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef std::pair<InputVertexPointer, ScalarType> vcg::tri::ConvexHull< InputMesh, CHMesh >::Pair [private]

Definition at line 55 of file convex_hull.h.

template<class InputMesh , class CHMesh >
typedef InputMesh::ScalarType vcg::tri::ConvexHull< InputMesh, CHMesh >::ScalarType

Definition at line 44 of file convex_hull.h.


Member Function Documentation

template<class InputMesh , class CHMesh >
static bool vcg::tri::ConvexHull< InputMesh, CHMesh >::ComputeConvexHull ( InputMesh &  mesh,
CHMesh &  convexHull 
) [inline, static]

Return the convex hull of the input mesh using the Quickhull algorithm. For each vertex of the convex hull the algorithm stores the vertex index of the original mesh in attribute "indexInput".

"The quickhull algorithm for convex hulls" by C. Bradford Barber et al. ACM Transactions on Mathematical Software, Volume 22 Issue 4, Dec. 1996

Definition at line 170 of file convex_hull.h.

template<class InputMesh , class CHMesh >
static void vcg::tri::ConvexHull< InputMesh, CHMesh >::ComputePointVisibility ( InputMesh &  m,
CHMesh &  visible,
CoordType  viewpoint,
ScalarType  logR = 2 
) [inline, static]

ComputePointVisibility Select the visible points in a point cloud, as viewed from a given viewpoint. It uses the Qhull implementation of che convex hull in the vcglibrary The algorithm used (Katz, Tal and Basri 2007) determines visibility without reconstructing a surface or estimating normals. A point is considered visible if its transformed point lies on the convex hull of a trasformed points cloud from the original mesh points.

Parameters:
mThe point cloud
visibleThe mesh that will contain the visible hull
viewpoint
logRBounds the radius of the sphere used to select visible points. It is used to adjust the radius of the sphere (calculated as distance between the center and the farthest point from it) according to the following equation: radius = radius * pow(10,threshold); As the radius increases more points are marked as visible. Use a big threshold for dense point clouds, a small one for sparse clouds.

Definition at line 361 of file convex_hull.h.

template<class InputMesh , class CHMesh >
static void vcg::tri::ConvexHull< InputMesh, CHMesh >::InitConvexHull ( InputMesh &  mesh,
CHMesh &  convexHull 
) [inline, static, private]

Definition at line 59 of file convex_hull.h.


The documentation for this class was generated from the following file:


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