test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld (Operator)


test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld — Test XLD contours or polygons for self intersection.


test_self_intersection_xld(XLD : : CloseXLD : DoesIntersect)

Herror test_self_intersection_xld(const Hobject XLD, const char* CloseXLD, Hlong* DoesIntersect)

Herror T_test_self_intersection_xld(const Hobject XLD, const Htuple CloseXLD, Htuple* DoesIntersect)

void TestSelfIntersectionXld(const HObject& XLD, const HTuple& CloseXLD, HTuple* DoesIntersect)

HTuple HXLD::TestSelfIntersectionXld(const HString& CloseXLD) const

HTuple HXLD::TestSelfIntersectionXld(const char* CloseXLD) const

HTuple HXLD::TestSelfIntersectionXld(const wchar_t* CloseXLD) const   (Windows only)

static void HOperatorSet.TestSelfIntersectionXld(HObject XLD, HTuple closeXLD, out HTuple doesIntersect)

HTuple HXLD.TestSelfIntersectionXld(string closeXLD)


test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld tests whether the input contours or polygons in XLDXLDXLDXLDXLD intersect or touch themselves. The output array DoesIntersectDoesIntersectDoesIntersectDoesIntersectdoesIntersect contains a 1 if the corresponding input contour or polygon intersects or touches itself and 0 otherwise.

If the input parameter CloseXLDCloseXLDCloseXLDCloseXLDcloseXLD is set to 'true'"true""true""true""true", open contours or polygons are closed before the check is performed by simply connecting the first and the last contour or polygon point with a line segment.


A contour or polygon touches itself if a contour or polygon point lies exactly on a contour or polygon segment. However, whether a point lies exactly on a contour or polygon segment or not can practically not be decided because of numerical reasons.

Execution Information


XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Input contours or polygons.

CloseXLDCloseXLDCloseXLDCloseXLDcloseXLD (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Should the input contours or polygons be closed first?

Default value: 'true' "true" "true" "true" "true"

List of values: 'false'"false""false""false""false", 'true'"true""true""true""true"

DoesIntersectDoesIntersectDoesIntersectDoesIntersectdoesIntersect (output_control)  number(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

1 for contours or polygons with self intersection and 0 otherwise.