- (real)
`Distance(`*x*,*y*,*x1*,*y1*)

This function computes the distance between two points, given in microns, returning the distance between the points in microns. - (real)
`MinDistPointToSeg(`*x*,*y*,*x1*,*y1*,*x2*,*y2*,*aret*)

This function computes the shortest distance from*x,y*to the line segment defined by the next four arguments. The*aret*is an array of size at least 4, used for returned coordinates. If no return is needed, this argument can be set to 0. Upon return of a value greater than 0, the first two values in*aret*are*x*and*y*, the next two values are the point on the segment closest to*x,y*. All values are in microns. - (real)
`MinDistPointToObj(`*x*,*y*,*object_handle*,*aret*)

This function computes the minimum distance from the point*x,y*to the boundary of the object given by the handle. The*aret*is an array of size at least 4 for return coordinates. If the return is not needed, this argument can be given as 0. Upon return of a value greater than 0, the first two values of aret will be*x*and*y*, the next two values will be the point on the boundary of the object closest to*x,y*. The function returns 0 if*x,y*touch or are enclosed in the object. The function will fail if the handle is not a reference to an object list. If there is an internal error, -1 is returned. All coordinates are in microns. - (real)
`MinDistSegToObj(`*x1*,*y1*,*x2*,*y2*,*object_handle*,*aret*)

This function computes the minimum distance from the line segment defined by the first four arguments to the boundary of the object given by the handle. The*aret*is an array of size at least 4 for return coordinates. If the return is not needed, this argument can be given as 0. Upon return of a value greater than 0, the first two values of*aret*will be the point on the line segment nearest the object, the next two values will be the point on the boundary of the object nearest to the line segment. The function returns 0 if the line segment touches or overlaps the object. The function will fail if the handle is not a reference to an object list. If there is an internal error, -1 is returned. All coordinates are in microns. - (real)
`MinDistObjToObj(`*object_handle1*,*object_handle2*,*aret*)

This function computes the minimum distance between the two objects referenced by the handles. The*aret*is an array of size at least 4 for return coordinates. If the return is not needed, this argument can be given as 0. Upon return of a value greater than 0, the first two values of*aret*will be the point on the boundary of the first object nearest the second object, the next two values will be the point on the boundary of the second object nearest to the first object. The function returns 0 if the objects touch or overlap. The function will fail if either handle is not a reference to an object list. If there is an internal error, -1 is returned. All coordinates are in microns. - (real)
`MaxDistPointToObj(`*x*,*y*,*object_handle*,*aret*)

This function finds the vertex of the object referenced by the handle farthest from the point*x,y*and returns this distance. The*aret*is an array of size at least 4 for return coordinates. If the return is not needed, this argument can be given as 0. Upon return of a value greater than 0, the first two values of aret will be*x*and*y*, the next two values will be the vertex of the object farthest from*x,y*. The function will fail if the handle is not a reference to an object list. If there is an internal error, -1 is returned. All coordinates are in microns. - (real)
`MaxDistObjToObj(`*object_handle1*,*object_handle2*,*aret*)

This function finds the pair of vertices, one from each object, that are farthest apart. Both handles can be the same. The*aret*is an array of size at least 4 for return coordinates. If the return is not needed, this argument can be given as 0. Upon return of a value greater than 0, the first two values of*aret*will be the vertex from the first object, the next two values will be the vertex from the second object. The function will fail if either handle is not a reference to an object list. If there is an internal error, -1 is returned. All coordinates are in microns. - (int)
`Intersect(`*object_handle1*,*object_handle2*,*touchok*)

This function determines whether the two objects referenced by the handles touch or overlap. The return value is 1 if the objects touch or overlap, 0 if the objects do not touch or overlap, or -1 if either handle points to an empty list or some other error occurred. The function fails if either handle is not a reference to an object list. If the*touchok*argument is nonzero, 1 will be returned if the objects touch but do not overlap. If touchok is 0, objects must overlap (have nonzero intersection area) for 1 to be returned.