Synopsis

PDX_MSGT gdx_NurbSurfToCurveBasedSurf(long option, int model, MDA_PTR gdx_ns_ptr, double revolve_tol, MDA_PTR *gdx_surf_ptr)

Purpose

Determine type and defining data of curve-based NURB Surface

Description

This routine determines if a GDX Nurbs surface is one of the GDX curve-based types: EXT_SURF, RULED_SURF or REV_SURF, in that order of preference. If it is, then a surface of that type is created.

Input

option

Not used.

model

The GDX model for entity creation.

gdx_ns_ptr

Database pointer of the Nurbs surface.

revolve_tol

A model space tolerance used to determine if a surface is a revolved surface. A candidate axis of revolution is computed, and this tolerance is used to check if a number of candidate centers all lie on this common axis. MODEL_SPACE_PNT_TOL (or smaller) should be used for zero tolerance.

Output

gdx_surf_ptr

Database pointer of the created curve-based surface if the surface is one of those types, otherwise, MDA_NULL_PTR.

Tolerances

      MODEL_SPACE_PNT_TOL
      ANGLE_TOL
      PARALLEL_LINES_TOL
      .fi

Return

      GDX_NOERR
      GDX_BADDATA
      Low level error return
      .fi