intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld (算子)
名称
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld — 计算两个 XLD 轮廓的交点。
签名
Herror intersection_contours_xld(const Hobject Contour1, const Hobject Contour2, const char* IntersectionType, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_contours_xld(const Hobject Contour1, const Hobject Contour2, const Htuple IntersectionType, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
描述
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld calculates the intersection points of the
XLD Contour1Contour1Contour1Contour1contour1contour_1 and XLD Contour2Contour2Contour2Contour2contour2contour_2 which, if any, are returned
in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn). The value in
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type defines the way to calculate the
intersections points. By setting
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'self'"self""self""self""self""self", only the self intersections
within both contours are returned, i.e., the intersections within
Contour1Contour1Contour1Contour1contour1contour_1 and XLD Contour2Contour2Contour2Contour2contour2contour_2. For
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'mutual'"mutual""mutual""mutual""mutual""mutual", only the intersections
between both contours are taken into account. The default value is
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'all'"all""all""all""all""all". In this case both, the self
and the mutual intersections are returned in RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn).
If parts of the contours overlap in more than one point
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping returns the value 1, otherwise 0 is returned.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping is set with regard to both the self and mutual
overlap, regardless of the setting in IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type.
In case of a mutual overlap, the endpoints of the mutual segment are
returned in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn).
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
Contour1Contour1Contour1Contour1contour1contour_1 (输入对象) xld_cont → objectHXLDContHObjectHXLDContHobject
First XLD contour.
Contour2Contour2Contour2Contour2contour2contour_2 (输入对象) xld_cont → objectHXLDContHObjectHXLDContHobject
Second XLD contour.
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Intersection points to be returned.
默认值:
'all'
"all"
"all"
"all"
"all"
"all"
值列表:
'all'"all""all""all""all""all", 'mutual'"mutual""mutual""mutual""mutual""mutual", 'self'"self""self""self""self""self"
RowRowRowRowrowrow (输出控制) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the intersection points.
ColumnColumnColumnColumncolumncolumn (输出控制) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the intersection points.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (输出控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Does a part of a contour lie above another contour part?
结果
如果参数有效,算子 intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld 返回值 2 ( H_MSG_TRUE )。
替代
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegmentsintersection_segments,
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld
另见
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line,
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLinesintersection_lines,
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
模块
基础