15 class GenericProgressCallback;
17 class GenericIndexedMesh;
18 class GenericIndexedCloud;
38 SKIP_TRANSLATION = 56,
49 static void FilterTransformation(
const ScaledTransformation& inTrans,
50 int transformationFilters,
51 const CCVector3& toBeAlignedGravityCenter,
53 ScaledTransformation& outTrans);
81 ScaledTransformation& trans,
82 bool adjustScale =
false,
103 static bool FindAbsoluteOrientation(
GenericCloud* lCloud,
106 bool fixedScale =
false);
126 MAX_ERROR_CONVERGENCE = 0,
127 MAX_ITER_CONVERGENCE = 1,
132 ICP_NOTHING_TO_DO = 0,
133 ICP_APPLY_TRANSFO = 1,
136 ICP_ERROR_REGISTRATION_STEP = 101,
137 ICP_ERROR_DIST_COMPUTATION = 102,
138 ICP_ERROR_NOT_ENOUGH_MEMORY = 103,
139 ICP_ERROR_CANCELED_BY_USER = 104,
140 ICP_ERROR_INVALID_INPUT = 105,
146 OPPOSITE_NORMALS = 1,
147 SAME_SIDE_NORMALS = 2,
148 DOUBLE_SIDED_NORMALS = 3
154 : convType(MAX_ERROR_CONVERGENCE),
155 minRMSDecrease(1.0e-5),
158 filterOutFarthestPoints(false),
159 samplingLimit(50000),
160 finalOverlapRatio(1.0),
161 modelWeights(nullptr),
162 dataWeights(nullptr),
163 transformationFilters(SKIP_NONE),
165 useC2MSignedDistances(false),
166 normalsMatching(NO_NORMAL) {}
240 unsigned& finalPointCount,
273 unsigned nbMaxCandidates = 0);
279 void init(
unsigned _a,
unsigned _b,
unsigned _c,
unsigned _d) {
287 if (i == 0)
return a;
288 if (i == 1)
return b;
289 if (i == 2)
return c;
290 if (i == 3)
return d;
315 static int FindCongruentBases(
KDTree* tree,
318 std::vector<Base>& results);
330 static unsigned ComputeRegistrationScore(
334 const ScaledTransformation& dataToModel);
350 static bool LinesIntersections(
const CCVector3& p0,
375 std::vector<Base>& candidates,
376 unsigned nbMaxCandidates,
377 std::vector<ScaledTransformation>& transforms);
float PointCoordinateType
Type of the coordinates of a (N-D) point.
cmdLineReadable * params[]
A generic 3D point cloud with index-based and presistent access to points.
A generic 3D point cloud with index-based point access.
A generic mesh with index-based vertex access.
A simple scalar field (to be associated to a point cloud)
Generic file read and write utility for python interface.
flann::Index< flann::L2< float > > KDTree