split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXld (Operator)


split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXld — Split XLD contours at dominant points.


split_contours_xld(Polygons : Contours : Mode, Weight, Smooth : )

Herror split_contours_xld(const Hobject Polygons, Hobject* Contours, const char* Mode, const Hlong Weight, const Hlong Smooth)

Herror T_split_contours_xld(const Hobject Polygons, Hobject* Contours, const Htuple Mode, const Htuple Weight, const Htuple Smooth)

void SplitContoursXld(const HObject& Polygons, HObject* Contours, const HTuple& Mode, const HTuple& Weight, const HTuple& Smooth)

HXLDCont HXLDPoly::SplitContoursXld(const HString& Mode, Hlong Weight, Hlong Smooth) const

HXLDCont HXLDPoly::SplitContoursXld(const char* Mode, Hlong Weight, Hlong Smooth) const

HXLDCont HXLDPoly::SplitContoursXld(const wchar_t* Mode, Hlong Weight, Hlong Smooth) const   (Windows only)

static void HOperatorSet.SplitContoursXld(HObject polygons, out HObject contours, HTuple mode, HTuple weight, HTuple smooth)

HXLDCont HXLDPoly.SplitContoursXld(string mode, int weight, int smooth)


split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXldSplitContoursXld splits the contours which were used to generate the polygons PolygonsPolygonsPolygonsPolygonspolygons at prominent points. If the mode 'polygon'"polygon""polygon""polygon""polygon" is selected, the contours are split at the polygons' control points. In mode 'dominant'"dominant""dominant""dominant""dominant", they are split at dominant points, i.e., at points for which the calculated change of direction is larger than the (empirically determined) threshold , and for which in the (empirically determined) neighborhood of points no larger change of direction occurs. The contour direction is determined from the direction of the regression line (i.e., the least-squares approximating line) through all points in a neighborhood of SmoothSmoothSmoothSmoothsmooth points around a contour point. The directions thus determined are smoothed with a Gaussian of width SmoothSmoothSmoothSmoothsmooth. WeightWeightWeightWeightweight is a weighting factor for the sensitiveness of the operator. The larger WeightWeightWeightWeightweight is selected, the less dominant points are found.

Each polygon needs a reference to a contour. If the reference is missing, because the polygon is e.g. read from a DXF-File, split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXldSplitContoursXld returns an error.

Execution Information


PolygonsPolygonsPolygonsPolygonspolygons (input_object)  xld_poly(-array) objectHXLDPolyHXLDPolyHobject

Polygons for which the corresponding contours are to be split.

ContoursContoursContoursContourscontours (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Split contours.

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

Mode for the splitting of the contours.

Default value: 'polygon' "polygon" "polygon" "polygon" "polygon"

List of values: 'dominant'"dominant""dominant""dominant""dominant", 'polygon'"polygon""polygon""polygon""polygon"

WeightWeightWeightWeightweight (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Weight for the sensitiveness.

Default value: 1

SmoothSmoothSmoothSmoothsmooth (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the smoothing mask.

Default value: 5

Possible Predecessors


Possible Successors


See also

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, lines_gausslines_gaussLinesGaussLinesGaussLinesGauss, lines_facetlines_facetLinesFacetLinesFacetLinesFacet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix