DGtal
1.4.beta
|
Aim: model of a CEuclideanOrientedShape from an implicit function from an oriented point cloud. The implicit function is given by the generalized winding number of the oriented point cloud [10] . We use the libIGL implementation. More...
#include <DGtal/shapes/WindingNumbersShape.h>
Public Types | |
using | Space = TSpace |
Types. More... | |
using | RealPoint = typename Space::RealPoint |
using | RealVector = typename Space::RealVector |
using | Orientation = DGtal::Orientation |
Public Member Functions | |
WindingNumbersShape ()=delete | |
WindingNumbersShape (ConstAlias< Eigen::MatrixXd > points, ConstAlias< Eigen::MatrixXd > normals, bool skipPointAreas=false) | |
WindingNumbersShape (ConstAlias< Eigen::MatrixXd > points, ConstAlias< Eigen::MatrixXd > normals, const Eigen::VectorXd &areas) | |
void | setPointAreas (ConstAlias< Eigen::VectorXd > areas) |
Orientation | orientation (const RealPoint aPoint, const double threshold=0.3) const |
std::vector< Orientation > | orientationBatch (const Eigen::MatrixXd &queries, const double threshold=0.3) const |
Data Fields | |
CountedConstPtrOrConstPtr< Eigen::MatrixXd > | myPoints |
Const alias to the points. More... | |
CountedConstPtrOrConstPtr< Eigen::MatrixXd > | myNormals |
Const alias to the normals. More... | |
Eigen::VectorXd | myPointAreas |
Const alias to point area measure. More... | |
std::vector< std::vector< int > > | myO_PI |
libIGL octree for fast queries data structure More... | |
Eigen::MatrixXi | myO_CH |
libIGL octree for fast queries data structure More... | |
Eigen::MatrixXd | myO_CN |
libIGL octree for fast queries data structure More... | |
Eigen::VectorXd | myO_W |
libIGL octree for fast queries data structure More... | |
Aim: model of a CEuclideanOrientedShape from an implicit function from an oriented point cloud. The implicit function is given by the generalized winding number of the oriented point cloud [10] . We use the libIGL implementation.
Description of template class 'WindingNumbersShape'
TSPace | the digital space type (a model of CSpace) |
Definition at line 66 of file WindingNumbersShape.h.
using DGtal::WindingNumbersShape< TSpace >::Orientation = DGtal::Orientation |
Definition at line 72 of file WindingNumbersShape.h.
using DGtal::WindingNumbersShape< TSpace >::RealPoint = typename Space::RealPoint |
Definition at line 70 of file WindingNumbersShape.h.
using DGtal::WindingNumbersShape< TSpace >::RealVector = typename Space::RealVector |
Definition at line 71 of file WindingNumbersShape.h.
using DGtal::WindingNumbersShape< TSpace >::Space = TSpace |
Types.
Definition at line 69 of file WindingNumbersShape.h.
|
delete |
|
inline |
Construct a WindingNumberShape Euclidean shape from an oriented point cloud. This constructor estimates the area of each point using CGAL.
If the number of points is greater than 20, CGAL is used to estimate the per-sample area (if skipPointAreas is set to false).
points | a "nx3" matrix with the sample coordinates. |
normals | a "nx3" matrix for the normal vectors. |
skipPointAreas | if true, we do not estimate the point areas using CGAL (default: false) |
Definition at line 86 of file WindingNumbersShape.h.
References DGtal::Trace::info(), DGtal::WindingNumbersShape< TSpace >::myNormals, DGtal::WindingNumbersShape< TSpace >::myO_CH, DGtal::WindingNumbersShape< TSpace >::myO_CN, DGtal::WindingNumbersShape< TSpace >::myO_PI, DGtal::WindingNumbersShape< TSpace >::myO_W, DGtal::WindingNumbersShape< TSpace >::myPointAreas, DGtal::WindingNumbersShape< TSpace >::myPoints, DGtal::trace, and DGtal::Trace::warning().
|
inline |
Construct a WindingNumberShape Euclidean shape from an oriented point cloud. For this constructor, the area of each point is given by the user.
points | a "nx3" matrix with the sample coordinates. |
normals | a "nx3" matrix for the normal vectors. |
areas | a "n" vector with the area of each point. |
Definition at line 118 of file WindingNumbersShape.h.
References DGtal::WindingNumbersShape< TSpace >::myNormals, DGtal::WindingNumbersShape< TSpace >::myO_CH, DGtal::WindingNumbersShape< TSpace >::myO_CN, DGtal::WindingNumbersShape< TSpace >::myO_PI, DGtal::WindingNumbersShape< TSpace >::myO_W, DGtal::WindingNumbersShape< TSpace >::myPointAreas, and DGtal::WindingNumbersShape< TSpace >::myPoints.
|
inline |
Orientation of a point using the winding number value from an oriented pointcloud.
aPoint | [in] a point in space |
threshold | [in] the iso-value of the surface of the winding number implicit map (default = 0.3). |
Definition at line 144 of file WindingNumbersShape.h.
References aPoint(), and DGtal::WindingNumbersShape< TSpace >::orientationBatch().
|
inline |
Orientation of a set of points (queries) using the winding number value from an oriented pointcloud.
queries | [in] a "nx3" matrix with the query points in space. |
threshold | [in] the iso-value of the surface of the winding number implicit map (default = 0.3). |
Definition at line 159 of file WindingNumbersShape.h.
References DGtal::INSIDE, DGtal::WindingNumbersShape< TSpace >::myNormals, DGtal::WindingNumbersShape< TSpace >::myO_CH, DGtal::WindingNumbersShape< TSpace >::myO_PI, DGtal::WindingNumbersShape< TSpace >::myPointAreas, DGtal::WindingNumbersShape< TSpace >::myPoints, DGtal::ON, and DGtal::OUTSIDE.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientation().
|
inline |
Set the area map for each point.
areas | a Eigen vector of estimated area for each input point. |
Definition at line 131 of file WindingNumbersShape.h.
References DGtal::WindingNumbersShape< TSpace >::myPointAreas.
CountedConstPtrOrConstPtr<Eigen::MatrixXd> DGtal::WindingNumbersShape< TSpace >::myNormals |
Const alias to the normals.
Definition at line 189 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientationBatch(), and DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
Eigen::MatrixXi DGtal::WindingNumbersShape< TSpace >::myO_CH |
libIGL octree for fast queries data structure
Definition at line 196 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientationBatch(), and DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
Eigen::MatrixXd DGtal::WindingNumbersShape< TSpace >::myO_CN |
libIGL octree for fast queries data structure
Definition at line 198 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
std::vector<std::vector<int > > DGtal::WindingNumbersShape< TSpace >::myO_PI |
libIGL octree for fast queries data structure
Definition at line 194 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientationBatch(), and DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
Eigen::VectorXd DGtal::WindingNumbersShape< TSpace >::myO_W |
libIGL octree for fast queries data structure
Definition at line 200 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
Eigen::VectorXd DGtal::WindingNumbersShape< TSpace >::myPointAreas |
Const alias to point area measure.
Definition at line 191 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientationBatch(), DGtal::WindingNumbersShape< TSpace >::setPointAreas(), and DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().
CountedConstPtrOrConstPtr<Eigen::MatrixXd> DGtal::WindingNumbersShape< TSpace >::myPoints |
Const alias to the points.
Definition at line 187 of file WindingNumbersShape.h.
Referenced by DGtal::WindingNumbersShape< TSpace >::orientationBatch(), and DGtal::WindingNumbersShape< TSpace >::WindingNumbersShape().