Point Cloud Library (PCL) 1.12.0
|
#include <pcl/recognition/ransac_based/model_library.h>
Classes | |
class | Model |
Stores some information about the model. More... | |
Public Types | |
using | PointCloudIn = pcl::PointCloud<pcl::PointXYZ> |
using | PointCloudN = pcl::PointCloud<pcl::Normal> |
using | node_data_pair_list = std::list<std::pair<const ORROctree::Node::Data*, const ORROctree::Node::Data*> > |
using | HashTableCell = std::map<const Model*, node_data_pair_list> |
using | HashTable = VoxelStructure<HashTableCell, float> |
Public Member Functions | |
ModelLibrary (float pair_width, float voxel_size, float max_coplanarity_angle=3.0f *AUX_DEG_TO_RADIANS) | |
This class is used by 'ObjRecRANSAC' to maintain the object models to be recognized. | |
virtual | ~ModelLibrary () |
void | removeAllModels () |
Removes all models from the library and clears the hash table. | |
void | setMaxCoplanarityAngleDegrees (float max_coplanarity_angle_degrees) |
This is a threshold. | |
void | ignoreCoplanarPointPairsOn () |
Call this method in order NOT to add co-planar point pairs to the hash table. | |
void | ignoreCoplanarPointPairsOff () |
Call this method in order to add all point pairs (co-planar as well) to the hash table. | |
bool | addModel (const PointCloudIn &points, const PointCloudN &normals, const std::string &object_name, float frac_of_points_for_registration, void *user_data=nullptr) |
Adds a model to the hash table. | |
const HashTable & | getHashTable () const |
Returns the hash table built by this instance. | |
const Model * | getModel (const std::string &name) const |
const std::map< std::string, Model * > & | getModels () const |
Protected Member Functions | |
void | clear () |
Removes all models from the library and destroys the hash table. | |
bool | addToHashTable (Model *model, const ORROctree::Node::Data *data1, const ORROctree::Node::Data *data2) |
Returns true if the oriented point pair was added to the hash table and false otherwise. | |
Protected Attributes | |
float | pair_width_ |
float | voxel_size_ |
float | max_coplanarity_angle_ |
bool | ignore_coplanar_opps_ |
std::map< std::string, Model * > | models_ |
HashTable | hash_table_ |
int | num_of_cells_ [3] |
Definition at line 57 of file model_library.h.
Definition at line 174 of file model_library.h.
Definition at line 173 of file model_library.h.
using pcl::recognition::ModelLibrary::node_data_pair_list = std::list<std::pair<const ORROctree::Node::Data*, const ORROctree::Node::Data*> > |
Definition at line 172 of file model_library.h.
Definition at line 60 of file model_library.h.
Definition at line 61 of file model_library.h.
pcl::recognition::ModelLibrary::ModelLibrary | ( | float | pair_width, |
float | voxel_size, | ||
float | max_coplanarity_angle = 3.0f *AUX_DEG_TO_RADIANS ) |
This class is used by 'ObjRecRANSAC' to maintain the object models to be recognized.
Normally, you do not need to use this class directly.
|
inlinevirtual |
Definition at line 180 of file model_library.h.
bool pcl::recognition::ModelLibrary::addModel | ( | const PointCloudIn & | points, |
const PointCloudN & | normals, | ||
const std::string & | object_name, | ||
float | frac_of_points_for_registration, | ||
void * | user_data = nullptr ) |
Adds a model to the hash table.
[in] | points | represents the model to be added. |
[in] | normals | are the normals at the model points. |
[in] | object_name | is the unique name of the object to be added. |
[in] | frac_of_points_for_registration | is the number of points used for fast ICP registration prior to hypothesis testing |
[in] | user_data | is a pointer to some data (can be NULL) |
Returns true if model successfully added and false otherwise (e.g., if object_name is not unique).
|
protected |
Returns true if the oriented point pair was added to the hash table and false otherwise.
|
protected |
Removes all models from the library and destroys the hash table.
This method should be called upon destroying this object.
Returns the hash table built by this instance.
Definition at line 229 of file model_library.h.
Definition at line 235 of file model_library.h.
Definition at line 245 of file model_library.h.
|
inline |
Call this method in order to add all point pairs (co-planar as well) to the hash table.
The default behavior is ignoring co-planar points on.
Definition at line 209 of file model_library.h.
|
inline |
Call this method in order NOT to add co-planar point pairs to the hash table.
The default behavior is ignoring co-planar points on.
Definition at line 201 of file model_library.h.
void pcl::recognition::ModelLibrary::removeAllModels | ( | ) |
Removes all models from the library and clears the hash table.
|
inline |
This is a threshold.
The larger the value the more point pairs will be considered as co-planar and will be ignored in the off-line model pre-processing and in the online recognition phases. This makes sense only if "ignore co-planar points" is on. Call this method before calling addModel.
Definition at line 193 of file model_library.h.
|
protected |
Definition at line 266 of file model_library.h.
|
protected |
Definition at line 263 of file model_library.h.
|
protected |
Definition at line 262 of file model_library.h.
|
protected |
Definition at line 265 of file model_library.h.
|
protected |
Definition at line 267 of file model_library.h.
|
protected |
Definition at line 260 of file model_library.h.
|
protected |
Definition at line 261 of file model_library.h.