Synopsis

PDX_MSGT gcr_NurbSurf2(long option, MDA_PTR orig_db_ptr, int u_degree, int v_degree, int surface_type, MDA_COUNT num_of_u_ctrl_pts, MDA_COUNT num_of_v_ctrl_pts, MTH_3DPNT (**ctrl_pts), double *weights[], double u_knots[], double v_knots[], double u_bounds[2], double v_bounds[2], int gdx_model, MDA_PTR *gdx_NS_ptr)

Purpose

Create a GDX NURB Surface.

Description

Given a set of U and V 3D XYZ control points, the knots, the weights and the U and V degree of the NURB surface, creates a GDX NURB surface by calling gcr_NurbSurf.

Refer to gcr_NurbSurf for detailed description.

Input

option

GCR_NOVALIDATE

No validation will occur on the input data.

orig_db_ptr

The original entities orig_db_ptr as obtained from the mda_GetOrigDbptr call, or MDA_NULL_PTR

u_degree

The U degree of the NURB surface (Must be > 0)

v_degree

The V degree of the NURB surface (Must be > 0)

surface_type

GDX_NURB_GENERAL

The general form of the NURB surface

GDX_NURB_PLANE

The plane form of the NURB surface

GDX_NURB_CYLINDER

The cylinder form of the NURB surface

GDX_NURB_CONE

The cone form of the NURB surface

GDX_NURB_SPHERE

The sphere form of the NURB surface

GDX_NURB_TORUS

The torus form of the NURB surface

GDX_NURB_SREV

The surface of revolution form of the NURB surface

GDX_NURB_TABCYL

The tabulated cylinder form of the NURB surface

GDX_NURB_RULED

The ruled form of the NURB surface

GDX_NURB_QUAD

The quadratic form of the NURB surface

GDX_NURB_OFFSET_SURF

The offset form of the NURB surface

GDX_NURB_CURV_SURF

The curve form of the NURB surface

GDX_NURB_POINT_SURF

The point form of the NURB surface

num_of_u_ctrl_pts

The number of U control points for each V of the NURB surface (Must be > 1)

num_of_v_ctrl_pts

The number of V control points for the NURB surface (Must be > 1)

ctrl_pts

The 3D X, Y, Z control point coordinates

weights

The weights for the NURB surface, or NULL

u_knots

The U knots for the NURB surface, or NULL

v_knots

The V knots for the NURB surface, or NULL

u_bounds

The U active parametric domain of the curve, or NULL. If value is NULL, gdx u_bounds[0] = u_knots[u_degree] and u_bounds[1] = u_knots[num_of_u_knots - u_order];

v_bounds

The U active parametric domain of the curve, or NULL. If value is NULL, gdx v_bounds[0] = v_knots[v_degree] and v_bounds[1] = v_knots[num_of_v_knots - v_order];

gdx_model

The GDX model for entity creation

Output

gdx_NS_ptr

Entity database pointer of the GDX NURB Surface

Tolerances

      GDX KNOT_TOL
      GDX PARM_SPACE_PNT_TOL
      .fi

Return

      GCR_NOERR
      GCR_INVALID_MODEL
      GCR_NURB_U_DEGREE
      GCR_NURB_V_DEGREE
      GCR_NURB_U_CTRL_PNTS
      GCR_NURB_V_CTRL_PNTS
      Low level error return
      .fi