Synopsis

PDX_MSGT gdx_SolidMakeModelCurveG1Cont(long option, double approx_tol, int maxits, int degree, MDA_PTR gdx_solid_ptr, PDX_BOOL *smoothed)

Purpose

Smooth all G1 discontinuous Curves

Description

Cycle through the faces of the solid to detect model curves which have G1 discontinuities. If the curve is G1 discontinuous, then convert it to NURB and smooth it by calling the function gdx_MakeNurbCurveG1Cont. The argument approx_tol is used to convert G1 discontiuous curves to NURBS. The smoothing can only be performed for NURB curves. When the curves gets smoothed, the parm curves of the associated edge_curve get deleted. For more information on the conversion to NURBS and the smoothing, look at the functions gdx_ConvertCurveToNurbCurve and gdx_MakeNurbCurveG1Cont.

Input

option

Options (Not Used)

approx_tol

Nurb approximation tolerance

maxits

Maximum number of iterations to use when converting curves to NURBS. Iteration will stop when number is exceeded.

degree

Degree of converted curve

gdx_solid_ptr

GDX Solid which may contain G1 discontinuous surfaces

Output

gdx_solid_ptr

An updated GDX solid without G1 discontinuous surfaces

smoothed

At least one Face of solid had G1 discontinuity smoothed

Tolerances

      MODEL_SPACE_PNT_TOL
      NORMAL_MAG_TOL
      ANGLE_TOL
      .fi

Return

      GDX_NOERR
      GDX_INVALIDMODEL
      Low level error return
      .fi