Synopsis

PDX_MSGT gdx_SolidMakeSurfG1Cont(long option, double tolerance, int maxits, int u_degree, int v_degree, MDA_PTR gdx_solid_ptr, PDX_BOOL *smoothed)

Purpose

Smooth all G1 discontinuous surfaces

Description

Cycle through the faces of the solid to detect surfaces which have G1 discontinuities. If the surface G1 discontinuous, smooth it by calling the function gdx_MakeNurbSurfG1Cont. The arguments tolerance maxits, u_degree, v_degree are used to convert G1 discontiuous surfaces to NURBS. The smoothing can only be performed for NURBS surfaces. When the surface gets smoothed, the parm curves of the associated face get deleted. For more information on the conversion to NURBS and the smoothing, look at the functions gdx_ConvertSurfaceToNurbSurf and gdx_MakeNurbSurfG1Cont.

Input

option

Options (Not Used)

tolerance

Nurb approximation tolerance

maxits

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

u_degree

Degree of converted surface in u direction

v_degree

Degree of converted surface in v direction

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
      PARM_SPACE_PNT_TOL
      ANGLE_TOL
      ZERO_TOL
      .fi

Return

      GDX_NOERR
      GDX_INVALIDMODEL
      Low level error return
      .fi