ClassesClassesClassesClasses | | | | Operators

split_contours_xldsplit_contours_xldSplitContoursXldsplit_contours_xldSplitContoursXldSplitContoursXld (Operator)

Name

split_contours_xldsplit_contours_xldSplitContoursXldsplit_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)

Herror split_contours_xld(Hobject Polygons, Hobject* Contours, const HTuple& Mode, const HTuple& Weight, const HTuple& Smooth)

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

HXLDContArray HXLDPolyArray::SplitContoursXld(const HTuple& Mode, const HTuple& Weight, const HTuple& Smooth) const

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

void HOperatorSetX.SplitContoursXld(
[in] IHUntypedObjectX* Polygons, [out] IHUntypedObjectX*Contours, [in] VARIANT Mode, [in] VARIANT Weight, [in] VARIANT Smooth)

IHXLDContX* HXLDPolyX.SplitContoursXld(
[in] BSTR Mode, [in] Hlong Weight, [in] Hlong Smooth)

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_xldSplitContoursXldsplit_contours_xldSplitContoursXldSplitContoursXld splits the contours which were used to generate the polygons PolygonsPolygonsPolygonsPolygonsPolygonspolygons at prominent points. If the mode 'polygon'"polygon""polygon""polygon""polygon""polygon" is selected, the contours are split at the polygons' control points. In mode 'dominant'"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 Weight * 2 * PI / contour length, and for which in the (empirically determined) neighborhood of sqrt(Smooth) * ln(contour length) 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 SmoothSmoothSmoothSmoothSmoothsmooth points around a contour point. The directions thus determined are smoothed with a Gaussian of width SmoothSmoothSmoothSmoothSmoothsmooth. WeightWeightWeightWeightWeightweight is a weighting factor for the sensitiveness of the operator. The larger WeightWeightWeightWeightWeightweight 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_xldSplitContoursXldsplit_contours_xldSplitContoursXldSplitContoursXld returns an error.

Parallelization

Parameters

PolygonsPolygonsPolygonsPolygonsPolygonspolygons (input_object)  xld_poly(-array) objectHXLDPolyHXLDPolyHXLDPolyHXLDPolyXHobject

Polygons for which the corresponding contours are to be split.

ContoursContoursContoursContoursContourscontours (output_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject *

Split contours.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Mode for the splitting of the contours.

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

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

WeightWeightWeightWeightWeightweight (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Weight for the sensitiveness.

Default value: 1

SmoothSmoothSmoothSmoothSmoothsmooth (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Width of the smoothing mask.

Default value: 5

Possible Predecessors

gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld

Possible Successors

regress_contours_xldregress_contours_xldRegressContoursXldregress_contours_xldRegressContoursXldRegressContoursXld

See also

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld, lines_gausslines_gaussLinesGausslines_gaussLinesGaussLinesGauss, lines_facetlines_facetLinesFacetlines_facetLinesFacetLinesFacet, edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix

Module

Foundation


ClassesClassesClassesClasses | | | | Operators