ONEEIGHTYOVERPI = 57.29577951308232
PI = 3.1415926535897932384626433832795 
PIOVER360 = 0.0087266462599
THREESIXTYOVERPI = 114.59155902616464

CLASSIFY = {INTERSECT = 0,
			NO_INTERSECT = 1,
			OUTSIDE = 2,
			INSIDE = 3,
			LEFT = 4,
			RIGHT = 5,
			BEHIND = 6,
			BEYOND = 7,
			FRONT = 8,
			BACK = 9,
			INTERSECT_ORIGIN = 10,
			INTERSECT_A = 11,
			INTERSECT_B = 12,
			TANGENT = 13,
			ONE_POINT = 14,
			TWO_POINTS = 15,
			ONE_FACE_INTERSECT = 16,
			ONE_EDGE_INTERSECT = 17,
			ONE_CORNER_INTERSECT = 18,
			OVERLAP = 19,
			PARALLEL = 20,
			ALLIGNED = 21,
			SEGMENT_OVERLAP = 22,
			RAY_OVERLAP = 23,
			SEGMENT_INTERSECT = 24,
			POINT_INTERSECT = 25,
			ENVELOP = 26,
			INTERN_TANGENT = 27,
			EXTERN_TANGENT = 28,
			BACK_INTERSECT = 29,
			FRONT_INTERSECT = 30,
			EXTERN_TANGENT_AND_ENVELOP = 31,
			FUN_ERROR = 32,
			FRONT_TANGENT = 33,
			BACK_TANGENT = 34,
			SEGMENT_POINT_INTERSECT = 35,
			ENVELOP_TANGENT = 36,
			INSIDE_INTERSECT = 37,
			ONE_POINT_INTERSECT = 38,
			ONE_SEGMENT_INTERSECT = 39,
			TWO_POINTS_INTERSECT = 40,
			TWO_SEGMENT_INTERSECT = 41,	
			ON_TRIANGLE = 42,
			INSIDE_TRIANGLE = 43,
			COPLANAR_NO_INTERSECT = 44,
			SIDE_TANGENT = 45,
			COPLANAR_SIDE_TANGENT = 46,
			BOTH = 47,
			INSIDE_QUAD = 48,
			ON_QUAD = 49,
			INSIDE_POLYGON = 50,
			ON_POLYGON = 51,
			LINE_OVERLAP_CYLINDER_BODY = 52,
			LINE_OVERLAP_CYLINDER_CIRCLE = 53,
			FRONT_OVERLAP = 54,
			BACK_OVERLAP = 55,
			FRONT_PARALLEL = 56,
			BACK_PARALLEL = 57,
			QUAD = 58,
			ELLIPSE = 59,
			THREE_POINTS_INTERSECT = 60,
			SEGMENT_TANGENT = 61,
			TANGENT_TO_TOP_CIRCLE = 62,
			TANGENT_TO_BOTTOM_CIRCLE = 63,
			PARALLEL_TO_TOP_CIRCLE = 64,	
			PARALLEL_TO_BOTTOM_CIRCLE = 65, 
			TOP_CIRCLE_SIDE = 66, 
			BOTTOM_CIRCLE_SIDE = 67, 
			TOP_CIRCLE_INTERSECTION = 68,
			BOTTOM_CIRCLE_INTERSECTION = 69,
			LINE_SEGMENT_INTERSECT = 70,
			CYLINDER_BODY_INTERSECTION = 71,
			TANGENT_TO_CYLINDER_BODY = 72
	}

function Maximum(x,y)
	return (x > y) and x or y
end

function Minimum(x,y)
	return (x < y) and x or y	
end

