Synopsis
PDX_MSGT gdx_NurbSurfToNurb(long option, MDA_PTR gdx_surf_ptr, double approx_tol, int degree, int max_iters, int *status)
Purpose
Convert/Approximate nurb surface to specific characteristic nurb surface.
Description
Convert/Approximate nurb surface to specific characteristic nurb surface passed by option.
If the nurb surface meets the criteria of options, it will not be modified. If an entity passed in is not a nurb, it will not be modified.
This function replaces the converted/approximated surface with mda_ReplaceDbptr(), this means that the database pointer will not be changed.
Input
option
GDX_NURBS_CLAMP
Non clampped nurb surface will be clamped. This option can not be used with GDX_NURBS_MAKE_UNIFORM
GDX_NURBS_REPARAM
Nurb surface will be reparametized between 0.0 and 1.0. This option can not be used with GDX_NURBS_MAKE_UNIFORM
GDX_NURBS_MAKE_UNIFORM
Nurb surface will be approximated to uniform knots nurb surface. This option can not be used with GDX_NURBS_CLAMP, GDX_NURBS_REPARAM or GDX_NURBS_MAKE_BEZIER.
GDX_NURBS_NONRATIONAL
Rational nurb surface will be approximated to non-rational nurb surface. This option can not be used with GDX_KEEPRRAT
GDX_NURBS_MAKE_BEZIER
Non-bezier nurb surface will be approximated to bezier nurb. This option overides GDX_NURBS_CLAMP and GDX_NURBS_NONRATIONAL options.
GDX_NURBS_FORCE_DEGREE
Nurb surface will be converted/approximated to the specified degree. This option can not be used with GDX_NURBS_REDUCE_DEGREE, GDX_NURBS_ELEVATE_DEGREE or GDX_NURBS_ELEVATE_DEGREE_BY_N.
GDX_NURBS_REDUCE_DEGREE
Nurb surface exceed the specified degree will be approximated to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE, GDX_NURBS_ELEVATE_DEGREE or GDX_NURBS_ELEVATE_DEGREE_BY_N.
GDX_NURBS_ELEVATE_DEGREE
Nurb surface degree less than the specified degree will be converted to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE, GDX_NURBS_REDUCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE_BY_N.
GDX_NURBS_ELEVATE_DEGREE_BY_N
Nurb surface degree will be elevated by the specified degree. This option can not be used with GDX_NURBS_FORCE_DEGREE, GDX_NURBS_REDUCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE.
GDX_KEEP_DEGREE_1
When conversion take place, degree 1 will be kept.
GDX_KEEPRAT
Keep rational when elevating the degree This option can not be used with GDX_NURBS_NONRATIONAL
gdx_surf_ptr
The database pointer for the GDX nurb surface entity
approx_tol
The tolerance for approximating the GDX NURB surface, if needed.
degree
The degree to approximate the GDX NURB surface when GDX NURB are converted with any DEGREE option specified.
max_iters
The maximum iteration count to test for convergence to the approximation tolerance
Output
status
Tolerances
MODEL_SPACE_PNT_TOL
.fi
Return
GDX_NOERR
GDX_INVALIDMODEL
Low level error return
.fi