int algDirICP_StdICP_Mesh::DatumMightBeCloser( const vct3 &v, const vct3 &n, int datum, double ErrorBound) { // TODO: is it significantly faster to pre-compute bounding // boxes within the mesh object? // create bounding box around triangle BoundingBox BB; vct3 v1, v2, v3; pDirTree->mesh.FaceCoords(datum, v1, v2, v3); BB.Include(v1); BB.Include(v2); BB.Include(v3); // We want to know if this point can produce a cost less than the // error bound. Error bound is the best cost we have so far. return BB.Includes(v, ErrorBound); }
void PDTree_PointCloud::EnlargeBounds(const vctFrm3& F, int datum, BoundingBox& BB) const { BB.Include(F*pointCloud.points.Element(datum)); }