Noether  0.0.0
Loading...
Searching...
No Matches
noether::RansacPlaneProjectionMeshModifier Class Reference

MeshModifier that fits planes to the input mesh and projects the vertices onto the fitted planes.

#include <ransac_plane_fit_modifier.h>

Inheritance diagram for noether::RansacPlaneProjectionMeshModifier:

Public Member Functions

 RansacPrimitiveFitMeshModifier (float distance_threshold, unsigned min_vertices=1, int max_primitives=-1, unsigned max_iterations=100)
 Constructor.
 
 RansacPrimitiveFitMeshModifier ()=default
 
- Public Member Functions inherited from noether::RansacPrimitiveFitMeshModifier
 RansacPrimitiveFitMeshModifier (float distance_threshold, unsigned min_vertices=1, int max_primitives=-1, unsigned max_iterations=100)
 Constructor.
 
std::vector< pcl::PolygonMesh > modify (const pcl::PolygonMesh &mesh) const override
 

Protected Member Functions

std::shared_ptr< pcl::SampleConsensusModel< pcl::PointXYZ > > createModel (const pcl::PolygonMesh &) const override
 Creates a SAC plane model.
 
pcl::PolygonMesh createSubMesh (const pcl::PolygonMesh &mesh, std::shared_ptr< const pcl::RandomSampleConsensus< pcl::PointXYZ > > ransac) const override
 Creates a sub-mesh by projecting the inlier vertices/triangles onto the fitted plane.
 

Additional Inherited Members

- Public Types inherited from noether::MeshModifier
using Ptr = std::unique_ptr< MeshModifier >
 
using ConstPtr = std::unique_ptr< const MeshModifier >
 
- Protected Attributes inherited from noether::RansacPrimitiveFitMeshModifier
float distance_threshold_
 
unsigned min_vertices_
 
int max_primitives_
 
unsigned max_iterations_
 

Member Function Documentation

◆ createModel()

std::shared_ptr< pcl::SampleConsensusModel< pcl::PointXYZ > > noether::RansacPlaneProjectionMeshModifier::createModel ( const pcl::PolygonMesh &  mesh) const
overrideprotectedvirtual

◆ createSubMesh()

pcl::PolygonMesh noether::RansacPlaneProjectionMeshModifier::createSubMesh ( const pcl::PolygonMesh &  mesh,
std::shared_ptr< const pcl::RandomSampleConsensus< pcl::PointXYZ > >  ransac 
) const
overrideprotectedvirtual

◆ RansacPrimitiveFitMeshModifier()

noether::RansacPrimitiveFitMeshModifier::RansacPrimitiveFitMeshModifier ( float  distance_threshold,
unsigned  min_vertices = 1,
int  max_primitives = -1,
unsigned  max_iterations = 100 
)
Parameters
distance_thresholdMaximum distance (m) a point can be from the primitive model to be considered an inlier
min_verticesMinimum number of vertices that a cluster (identfied as a primitive) must have
max_primitivesMaximum number of primitives to detect
max_iterationsMaximum number of RANSAC iterations to perform