ObjRecRANSAC::addModel() error 

ObjRecRANSAC::addModel() will core dump for certain values of the variables, pair_width_ and voxel_size_, in recognition:ObjRecogRANSAC.  Certain values can cause the point pair feature calculation to return some nan value.  These nan values are used as an index to access a hash table cell and therefore failing.

This happens because the method recognition::ModelLibrary::getFullLeavesIntersectedBySphere((const float* p, float radius, std::list<ORROctree::Node*>& out) which returns the set of leaves that are a specific distance apart from the source point p can return the leaf of the source point in the solution set.  This causes the calculation of the point pair feature of a the point with itself. When calculating the point pair feature of a point with itself a division by zero operation occurs which causes a nan valued point pair feature which is used as a key to a hash table resulting in a core dump.  Fixed it by:

1.  Adding a new method to auxiliary.h, namely equal3() which compares two arrays of 3 elements to see if all elements are equal
2.  Used the equal3() method in getFullLeavesIntersectedBySphere()to ensure that the centre of mass of a leaf intersected by the sphere is not the same as the query point p (i.e the centre of mass of the query leaf).  Thus, preventing self intersections which cause nan values when calculating the point pair feature.