GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. More...
#include <pcl/surface/gp3.h>
Public Member Functions | |
GreedyProjectionTriangulation () | |
Empty constructor. More... |
|
void | setMu (double mu) |
Set the multiplier of the nearest neighbor distance to obtain the final search radius for each point (this will make the algorithm adapt to different point densities in the cloud). More... |
|
double | getMu () const |
Get the nearest neighbor distance multiplier. More... |
|
void | setMaximumNearestNeighbors (int nnn) |
Set the maximum number of nearest neighbors to be searched for. More... |
|
int | getMaximumNearestNeighbors () const |
Get the maximum number of nearest neighbors to be searched for. More... |
|
void | setSearchRadius (double radius) |
Set the sphere radius that is to be used for determining the k-nearest neighbors used for triangulating. More... |
|
double | getSearchRadius () const |
Get the sphere radius used for determining the k-nearest neighbors. More... |
|
void | setMinimumAngle (double minimum_angle) |
Set the minimum angle each triangle should have. More... |
|
double | getMinimumAngle () const |
Get the parameter for distance based weighting of neighbors. More... |
|
void | setMaximumAngle (double maximum_angle) |
Set the maximum angle each triangle can have. More... |
|
double | getMaximumAngle () const |
Get the parameter for distance based weighting of neighbors. More... |
|
void | setMaximumSurfaceAngle (double eps_angle) |
Don't consider points for triangulation if their normal deviates more than this value from the query point's normal. More... |
|
double | getMaximumSurfaceAngle () const |
Get the maximum surface angle. More... |
|
void | setNormalConsistency (bool consistent) |
Set the flag if the input normals are oriented consistently. More... |
|
bool | getNormalConsistency () const |
Get the flag for consistently oriented normals. More... |
|
void | setConsistentVertexOrdering (bool consistent_ordering) |
Set the flag to order the resulting triangle vertices consistently (positive direction around normal). More... |
|
bool | getConsistentVertexOrdering () const |
Get the flag signaling consistently ordered triangle vertices. More... |
|
std::vector< int > | getPointStates () const |
Get the state of each point after reconstruction. More... |
|
std::vector< int > | getPartIDs () const |
Get the ID of each point after reconstruction. More... |
|
pcl::Indices | getSFN () const |
Get the sfn list. More... |
|
pcl::Indices | getFFN () const |
Get the ffn list. More... |
|
Public Member Functions inherited from pcl::MeshConstruction< PointInT > | |
MeshConstruction () | |
Constructor. More... |
|
~MeshConstruction () | |
Destructor. More... |
|
void | reconstruct (pcl::PolygonMesh &output) override |
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> More... |
|
virtual void | reconstruct (std::vector< pcl::Vertices > &polygons) |
Base method for mesh construction for all points given in <setInputCloud (), setIndices ()> More... |
|
Public Member Functions inherited from pcl::PCLSurfaceBase< PointInT > | |
PCLSurfaceBase () | |
Empty constructor. More... |
|
~PCLSurfaceBase () | |
Empty destructor. More... |
|
void | setSearchMethod (const KdTreePtr &tree) |
Provide an optional pointer to a search object. More... |
|
KdTreePtr | getSearchMethod () |
Get a pointer to the search method used. More... |
|
Public Member Functions inherited from pcl::PCLBase< PointInT > | |
PCLBase () | |
Empty constructor. More... |
|
PCLBase (const PCLBase &base) | |
Copy constructor. More... |
|
virtual | ~PCLBase ()=default |
Destructor. More... |
|
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... |
|
const PointCloudConstPtr | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... |
|
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... |
|
IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... |
|
const IndicesConstPtr | getIndices () const |
Get a pointer to the vector of indices used. More... |
|
const PointInT & | operator[] (std::size_t pos) const |
Override PointCloud operator[] to shorten code. More... |
|
Protected Attributes | |
double | mu_ |
The nearest neighbor distance multiplier to obtain the final search radius. More... |
|
double | search_radius_ |
The nearest neighbors search radius for each point and the maximum edge length. More... |
|
int | nnn_ |
The maximum number of nearest neighbors accepted by searching. More... |
|
double | minimum_angle_ |
The preferred minimum angle for the triangles. More... |
|
double | maximum_angle_ |
The maximum angle for the triangles. More... |
|
double | eps_angle_ |
Maximum surface angle. More... |
|
bool | consistent_ |
Set this to true if the normals of the input are consistently oriented. More... |
|
bool | consistent_ordering_ |
Set this to true if the output triangle vertices should be consistently oriented. More... |
|
Protected Attributes inherited from pcl::MeshConstruction< PointInT > | |
bool | check_tree_ |
A flag specifying whether or not the derived reconstruction algorithm needs the search object tree. More... |
|
Protected Attributes inherited from pcl::PCLSurfaceBase< PointInT > | |
KdTreePtr | tree_ |
A pointer to the spatial search object. More... |
|
Protected Attributes inherited from pcl::PCLBase< PointInT > | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... |
|
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... |
|
bool | use_indices_ |
Set to true if point indices are used. More... |
|
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... |
|
Additional Inherited Members | |
Protected Member Functions inherited from pcl::PCLBase< PointInT > | |
bool | initCompute () |
This method should get called before starting the actual computation. More... |
|
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... |
|
GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections.
It assumes locally smooth surfaces and relatively smooth transitions between areas with different point densities.
using pcl::GreedyProjectionTriangulation< PointInT >::ConstPtr = shared_ptr<const GreedyProjectionTriangulation<PointInT> > |
using pcl::GreedyProjectionTriangulation< PointInT >::KdTree = pcl::KdTree<PointInT> |
using pcl::GreedyProjectionTriangulation< PointInT >::KdTreePtr = typename KdTree::Ptr |
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudIn = pcl::PointCloud<PointInT> |
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
using pcl::GreedyProjectionTriangulation< PointInT >::PointCloudInPtr = typename PointCloudIn::Ptr |
using pcl::GreedyProjectionTriangulation< PointInT >::Ptr = shared_ptr<GreedyProjectionTriangulation<PointInT> > |
enum pcl::GreedyProjectionTriangulation::GP3Type |
| inline |
| inline |
Get the flag signaling consistently ordered triangle vertices.
Definition at line 265 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.
| inline |
| inline |
Get the parameter for distance based weighting of neighbors.
Definition at line 232 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.
| inline |
Get the maximum number of nearest neighbors to be searched for.
Definition at line 199 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::nnn_.
| inline |
Get the maximum surface angle.
Definition at line 244 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.
| inline |
Get the parameter for distance based weighting of neighbors.
Definition at line 221 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.
| inline |
Get the nearest neighbor distance multiplier.
Definition at line 189 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::mu_.
| inline |
Get the flag for consistently oriented normals.
Definition at line 254 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::consistent_.
| inline |
| inline |
| inline |
Get the sphere radius used for determining the k-nearest neighbors.
Definition at line 210 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.
| inline |
| inline |
Set the flag to order the resulting triangle vertices consistently (positive direction around normal).
[in] | consistent_ordering | set it to true if triangle vertices should be ordered consistently |
Definition at line 261 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::consistent_ordering_.
| inline |
Set the maximum angle each triangle can have.
[in] | maximum_angle | the maximum angle each triangle can have |
Definition at line 228 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::maximum_angle_.
| inline |
Set the maximum number of nearest neighbors to be searched for.
[in] | nnn | the maximum number of nearest neighbors |
Definition at line 195 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::nnn_.
| inline |
Don't consider points for triangulation if their normal deviates more than this value from the query point's normal.
[in] | eps_angle | maximum surface angle |
Definition at line 240 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::eps_angle_.
| inline |
Set the minimum angle each triangle should have.
[in] | minimum_angle | the minimum angle each triangle should have |
Definition at line 217 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::minimum_angle_.
| inline |
Set the multiplier of the nearest neighbor distance to obtain the final search radius for each point (this will make the algorithm adapt to different point densities in the cloud).
[in] | mu | the multiplier |
Definition at line 185 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::mu_.
| inline |
Set the flag if the input normals are oriented consistently.
[in] | consistent | set it to true if the normals are consistently oriented |
Definition at line 250 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::consistent_.
| inline |
Set the sphere radius that is to be used for determining the k-nearest neighbors used for triangulating.
[in] | radius | the sphere radius that is to contain all k-nearest neighbors |
Definition at line 206 of file gp3.h.
References pcl::GreedyProjectionTriangulation< PointInT >::search_radius_.
| protected |
Set this to true if the normals of the input are consistently oriented.
Definition at line 308 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getNormalConsistency(), and pcl::GreedyProjectionTriangulation< PointInT >::setNormalConsistency().
| protected |
Set this to true if the output triangle vertices should be consistently oriented.
Definition at line 311 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getConsistentVertexOrdering(), and pcl::GreedyProjectionTriangulation< PointInT >::setConsistentVertexOrdering().
| protected |
Maximum surface angle.
Definition at line 305 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getMaximumSurfaceAngle(), and pcl::GreedyProjectionTriangulation< PointInT >::setMaximumSurfaceAngle().
| protected |
The maximum angle for the triangles.
Definition at line 302 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getMaximumAngle(), and pcl::GreedyProjectionTriangulation< PointInT >::setMaximumAngle().
| protected |
The preferred minimum angle for the triangles.
Definition at line 299 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getMinimumAngle(), and pcl::GreedyProjectionTriangulation< PointInT >::setMinimumAngle().
| protected |
The nearest neighbor distance multiplier to obtain the final search radius.
Definition at line 290 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getMu(), and pcl::GreedyProjectionTriangulation< PointInT >::setMu().
| protected |
The maximum number of nearest neighbors accepted by searching.
Definition at line 296 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getMaximumNearestNeighbors(), and pcl::GreedyProjectionTriangulation< PointInT >::setMaximumNearestNeighbors().
| protected |
The nearest neighbors search radius for each point and the maximum edge length.
Definition at line 293 of file gp3.h.
Referenced by pcl::GreedyProjectionTriangulation< PointInT >::getSearchRadius(), and pcl::GreedyProjectionTriangulation< PointInT >::setSearchRadius().
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_greedy_projection_triangulation.html