diff --git a/src/Registration/ClosestPointRegistrationForceField.inl b/src/Registration/ClosestPointRegistrationForceField.inl index a4c9304..20e4bc9 100644 --- a/src/Registration/ClosestPointRegistrationForceField.inl +++ b/src/Registration/ClosestPointRegistrationForceField.inl @@ -120,30 +120,60 @@ void ClosestPointRegistrationForceField::init() } template -void ClosestPointRegistrationForceField::detectBorder(type::vector &border,const type::vector< tri > &triangles) +void ClosestPointRegistrationForceField::detectBorder(type::vector &border, const type::vector< tri > &triangles) { unsigned int nbp=border.size(); unsigned int nbt=triangles.size(); - for(unsigned int i=0;i > ngbTriangles((int)nbp); - for(unsigned int i=0;i= nbp) { + msg_error() << "point " << j << " of triangle " << i << " id exceeds border vector size"; + return; + } + ngbTriangles[triangles[i][j]].push_back(i); + } + } + + for(unsigned int i=0;i