Synopsis

PDX_MSGT gdx_TestCurveSelfIntersect(long option, MDA_PTR gdx_curve_ptr, double approx_tol, PDX_BOOL *intersect_flg)

Purpose

Test GDX Curve for self intersections

Description

This function locates points of self intersection, if any, within a GDX Curve. The curve is linearly approximated (using GDX_TOLERANCE method) and the resulting segments are checked relative to each other for intersections. The number of intersections and their corresponding parameter values are returned.

The following curve types are supported:

.nf GDX_ARC GDX_COMP_CURVE GDX_CONIC GDX_POLYLINE GDX_SPLINE_CURVE GDX_NURB_CURVE GDX_OFFSET_CURVE GDX_TRIM_CURVE .fi

Input

option

GDX_PARM_SPACE

Indicates that the GDX Curve to be checked is 2D (xy)

gdx_curve_ptr

The database pointer of the GDX Curve entity to be checked for self intersection

approx_tol

The linear approximation tolerance

Output

intersect_flg

PDX_TRUE

The curve does self intersect

PDX_FALSE

The curve does NOT self intersect

Tolerances

      GDX PARALLEL_LINES_TOL
      GDX PARM_SPACE_PNT_TOL
      GDX MODEL_SPACE_PNT_TOL
      .fi

Return

      GDX_NOERR
      GDX_ENTITYNOTCURVE
      Low level error return
      .fi