#include <CGAL/squared_distance_3.h>

 
computes the square of the Euclidean distance between two geometric objects. For arbitrary geometric objects obj1 and obj2 the squared distance is defined as the minimal squared_distance(p1, p2), where p1 is a point of obj1 and p2 is a point of obj2. Note that for objects that have an inside (a bounded region), this inside is part of the object. So, the squared distance from a point inside is zero, not the squared distance to the closest point on the boundary. 
In 2D, the types Type1 and Type2 can be any of the following:
In 3D, the types Type1 and Type2 can be any of the following: