00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef PCL_SAMPLE_CONSENSUS_MODEL_TYPES_H_
00039 #define PCL_SAMPLE_CONSENSUS_MODEL_TYPES_H_
00040
00041 #include <map>
00042
00043 namespace pcl
00044 {
00045 enum SacModel
00046 {
00047 SACMODEL_PLANE,
00048 SACMODEL_LINE,
00049 SACMODEL_CIRCLE2D,
00050 SACMODEL_CIRCLE3D,
00051 SACMODEL_SPHERE,
00052 SACMODEL_CYLINDER,
00053 SACMODEL_CONE,
00054 SACMODEL_TORUS,
00055 SACMODEL_PARALLEL_LINE,
00056 SACMODEL_PERPENDICULAR_PLANE,
00057 SACMODEL_PARALLEL_LINES,
00058 SACMODEL_NORMAL_PLANE,
00059 SACMODEL_NORMAL_SPHERE,
00060 SACMODEL_REGISTRATION,
00061 SACMODEL_PARALLEL_PLANE,
00062 SACMODEL_NORMAL_PARALLEL_PLANE,
00063 SACMODEL_STICK
00064 };
00065 }
00066
00067
00068 typedef std::map<pcl::SacModel, unsigned int>::value_type SampleSizeModel;
00069 const static SampleSizeModel sample_size_pairs[] = {SampleSizeModel (pcl::SACMODEL_PLANE, 3),
00070 SampleSizeModel (pcl::SACMODEL_LINE, 2),
00071 SampleSizeModel (pcl::SACMODEL_CIRCLE2D, 3),
00072
00073 SampleSizeModel (pcl::SACMODEL_SPHERE, 4),
00074 SampleSizeModel (pcl::SACMODEL_CYLINDER, 2),
00075 SampleSizeModel (pcl::SACMODEL_CONE, 3),
00076
00077 SampleSizeModel (pcl::SACMODEL_PARALLEL_LINE, 2),
00078 SampleSizeModel (pcl::SACMODEL_PERPENDICULAR_PLANE, 3),
00079
00080 SampleSizeModel (pcl::SACMODEL_NORMAL_PLANE, 3),
00081 SampleSizeModel (pcl::SACMODEL_NORMAL_SPHERE, 4),
00082 SampleSizeModel (pcl::SACMODEL_REGISTRATION, 3),
00083 SampleSizeModel (pcl::SACMODEL_PARALLEL_PLANE, 3),
00084 SampleSizeModel (pcl::SACMODEL_NORMAL_PARALLEL_PLANE, 3),
00085 SampleSizeModel (pcl::SACMODEL_STICK, 2)};
00086
00087 namespace pcl
00088 {
00089 const static std::map<pcl::SacModel, unsigned int> SAC_SAMPLE_SIZE (sample_size_pairs, sample_size_pairs
00090 + sizeof (sample_size_pairs) / sizeof (SampleSizeModel));
00091 }
00092
00093 #endif //#ifndef PCL_SAMPLE_CONSENSUS_MODEL_TYPES_H_