Synopsis

PDX_MSGT gcr_SplineSurf(long option, MDA_PTR orig_db_ptr, int u_degree, int v_degree, MDA_COUNT num_of_u_segs, MDA_COUNT num_of_v_segs, struct t_gdx_spline_surf_poly_surf **poly_surf, double *u_break_pnts, double *v_break_pnts, int gdx_model, MDA_PTR *gdx_SS_ptr)

Purpose

Create a GDX Spline Surface.

Description

Given a set of 3D XYZ UV ABCD... coefficients for each segment, the number of U and V segments, the U and V break points, and the U and V degree of Spline surface, creates a GDX Spline surface.

The U and V degree (u_degree and v_degree) and the number of U and V spline segments (num_of_u_segs and num_of_v_segs) must be > 0

If the u_break_pnts and/or v_break_pnts U and/or V knot values array is NULL, then the Spline surface is assumed to be a uniform surface and the GDX Spline surface uniform break point values are generated.

If the break point value array is specified, the break point sequence must be in increasing order.

The GDX Spline surface is parameterized from the first break point to the last break point.

\fBRules\fR .IP • 3 The u_degree must be > 0 .IP • 3 The v_degree must be > 0 .IP • 3 The num_of_u_segs must be > 0 .IP • 3 The num_of_v_segs must be > 0 .IP • 3 u_order = u_degree + 1 .IP • 3 v_order = v_degree + 1 .LP

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 Spline surface

v_degree

The V degree of the Spline surface

num_of_u_segs

The number of U spline patches for the Spline surface

num_of_v_segs

The number of V spline patches for the Spline surface

poly_surf

MDA memory array containing the 3D XYZ UV ABCD... U, V order coefficient values as num_of_u_segs U columns of num_of_v_segs V patch V,U order coefficients. poly_surf[num_of_u_segs][num_of_v_segs].patches [v_degree + 1][u_degree + 1][3] Always consumed by this function even on error.

u_break_pnts

MDA memory containing the num_u_of_segs + 1 U spline surface patch break point values, or NULL Always consumed by this function even on error.

v_break_pnts

MDA memory containing the num_v_of_segs + 1 V spline surface patch break point values, or NULL Always consumed by this function even on error.

gdx_model

The GDX model for entity creation

Output

gdx_SS_ptr

Entity database pointer of the GDX Spline Surface

Tolerances

      .fi

Return

      GCR_NOERR
      GCR_INVALID_MODEL
      GCR_SPLINE_SURF_U_DEGREE
      GCR_SPLINE_SURF_V_DEGREE
      GCR_SPLINE_SURF_NUM_U_SEGS
      GCR_SPLINE_SURF_NUM_V_SEGS
      Low level error return
      .fi