ClassesClasses | | Operators

split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXld (Operator)

Name

split_contours_xldsplit_contours_xldSplitContoursXldSplitContoursXld — Split XLD contours at dominant points.

Signature

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

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

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

Description

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

Parameters

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

gen_polygons_xldgen_polygons_xldGenPolygonsXldGenPolygonsXldGenPolygonsXld

Possible Successors

regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldRegressContoursXld

See also

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, lines_gausslines_gaussLinesGaussLinesGaussLinesGauss, lines_facetlines_facetLinesFacetLinesFacetLinesFacet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix

Module

Foundation


ClassesClasses | | Operators