next up previous contents index
Next: Layout File Input/Output Functions Up: Main Functions 3 Previous: Pseudo-Flat Generator   Contents   Index

Geometry Measurement

(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.


next up previous contents index
Next: Layout File Input/Output Functions Up: Main Functions 3 Previous: Pseudo-Flat Generator   Contents   Index
Stephen R. Whiteley 2024-09-29