DGtal
1.5.beta
|
Functor that projects a face vertex of a surface mesh onto the tangent plane given by a per-face normal vector. This functor can be used in PolygonalCalculus to correct the embedding of digital surfaces using an estimated normal vector field (see [26]). More...
#include <DGtal/dec/PolygonalCalculus.h>
Public Types | |
typedef SurfaceMesh< TRealPoint, TRealVector > | MySurfaceMesh |
Type of SurfaceMesh. More... | |
typedef MySurfaceMesh::Vertex | Vertex |
Vertex type. More... | |
typedef MySurfaceMesh::Face | Face |
Face type. More... | |
typedef MySurfaceMesh::RealPoint | Real3dPoint |
Position type. More... | |
Public Member Functions | |
EmbedderFromNormalVectors ()=delete | |
EmbedderFromNormalVectors (ConstAlias< std::vector< Real3dPoint >> normals, ConstAlias< MySurfaceMesh > surfmesh) | |
Real3dPoint | operator() (const Face &f, const Vertex &v) |
Data Fields | |
const std::vector< Real3dPoint > * | myNormals |
Alias to the normal vectors. More... | |
const MySurfaceMesh * | mySurfaceMesh |
Alias to the surface mesh. More... | |
Functor that projects a face vertex of a surface mesh onto the tangent plane given by a per-face normal vector. This functor can be used in PolygonalCalculus to correct the embedding of digital surfaces using an estimated normal vector field (see [26]).
TRealPoint | a model of points \(\mathbb{R}^3\) (e.g. PointVector). |
TRealVector | a model of vectors in \(\mathbb{R}^3\) (e.g. PointVector). |
Definition at line 61 of file PolygonalCalculus.h.
typedef MySurfaceMesh::Face DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::Face |
Face type.
Definition at line 68 of file PolygonalCalculus.h.
typedef SurfaceMesh<TRealPoint, TRealVector> DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::MySurfaceMesh |
Type of SurfaceMesh.
Definition at line 64 of file PolygonalCalculus.h.
typedef MySurfaceMesh::RealPoint DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::Real3dPoint |
Position type.
Definition at line 70 of file PolygonalCalculus.h.
typedef MySurfaceMesh::Vertex DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::Vertex |
Vertex type.
Definition at line 66 of file PolygonalCalculus.h.
|
delete |
|
inline |
Constructor from an array of normal vectors and a surface mesh instance.
normals | a vector of per face normal vectors (same ordering as the SurfaceMesh face indicies). |
surfmesh | an instance of SurfaceMesh |
Definition at line 77 of file PolygonalCalculus.h.
References DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::myNormals, DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::mySurfaceMesh, and surfmesh.
|
inline |
Project a face vertex onto its tangent plane (given by the per-face estimated normal vector).
f | the face that contains the vertex |
v | the vertex to project |
Definition at line 89 of file PolygonalCalculus.h.
References DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::mySurfaceMesh, and DGtal::SurfaceMesh< TRealPoint, TRealVector >::position().
const std::vector<Real3dPoint>* DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::myNormals |
Alias to the normal vectors.
Definition at line 97 of file PolygonalCalculus.h.
Referenced by DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::EmbedderFromNormalVectors().
const MySurfaceMesh* DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::mySurfaceMesh |
Alias to the surface mesh.
Definition at line 99 of file PolygonalCalculus.h.
Referenced by DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::EmbedderFromNormalVectors(), and DGtal::functors::EmbedderFromNormalVectors< TRealPoint, TRealVector >::operator()().