Show_NURBS_Surface

Functions

void DShow_NURBS_Surface (HC_KEY key, int *u_degree, int *v_degree, int *u_count, int *v_count, HC_DPOINT *points, double *weights, double *u_knots, double *v_knots)
 Similar to Show_NURBS_Surface() but operates on double-precision values. More...
 
void Show_NURBS_Surface (HC_KEY key, int *u_degree, int *v_degree, int *u_count, int *v_count, HC_POINT *points, float *weights, float *u_knots, float *v_knots)
 Returns the definition of an existing NURBS surface, as referenced by a key. More...
 
void Show_NURBS_Surface_Size (HC_KEY key, int *u_degree, int *v_degree, int *u_count, int *v_count, int *weights_count, int *u_knots_count, int *v_knots_count)
 Finds the size of a given NURBS surface. This is useful in determining the size of the data structure that must hold points More...
 

Detailed Description

Function Documentation

◆ DShow_NURBS_Surface()

void DShow_NURBS_Surface ( HC_KEY  key,
int *  u_degree,
int *  v_degree,
int *  u_count,
int *  v_count,
HC_DPOINT *  points,
double *  weights,
double *  u_knots,
double *  v_knots 
)

Similar to Show_NURBS_Surface() but operates on double-precision values.

Parameters
key- The unique identifier returned by a previous call to Insert_NURBS_Surface()
u_degree- Degree of the surface in the u direction. Returned to user. Passed by reference always.
v_degree- Degree of the surface in the v direction. Returned to user. Passed by reference always.
u_count- Number of control points in the u direction. Returned to user. Passed by reference always.
v_count- Number of control points in the v direction. Returned to user. Passed by reference always.
points- Vector of x-y-z triplets for the coordinates of the control points. Returned to user. Passed by reference always.
weights- Control point weights. Returned to user. Passed by reference always.
u_knots- Knot sequence in the u direction. Returned to user. Passed by reference always.
v_knots- Knot sequence in the v direction. Returned to user. Passed by reference always.

DETAILS

No additional details. See Show_NURBS_Surface().

◆ Show_NURBS_Surface()

void Show_NURBS_Surface ( HC_KEY  key,
int *  u_degree,
int *  v_degree,
int *  u_count,
int *  v_count,
HC_POINT *  points,
float *  weights,
float *  u_knots,
float *  v_knots 
)

Returns the definition of an existing NURBS surface, as referenced by a key.

Parameters
key- The unique identifier returned by a previous call to Insert_NURBS_Surface()
u_degree- Degree of the surface in the u direction. Returned to user. Passed by reference always.
v_degree- Degree of the surface in the v direction. Returned to user. Passed by reference always.
u_count- Number of control points in the u direction. Returned to user. Passed by reference always.
v_count- Number of control points in the v direction. Returned to user. Passed by reference always.
points- Vector of x-y-z triplets for the coordinates of the control points. Returned to user. Passed by reference always.
weights- Control point weights. Returned to user. Passed by reference always.
u_knots- Knot sequence in the u direction. Returned to user. Passed by reference always.
v_knots- Knot sequence in the v direction. Returned to user. Passed by reference always.

DETAILS

Show_NURBS_Surface() reads back the values currently stored in a NURBS surface. The key for the NURBS surface might come from Show_Selection_Element() or Find_Contents() , or it might have been saved by your program when the NURBS surface was created (via Insert_NURBS_Surface() ).
Use Show_NURBS_Surface_Size() to determine how large the control_points, weights and knots arrays are going to be, before you actually call Show_NURBS_Surface() . Be sure to account for the case where weight_count, u_knot_count and/or v_knot_count return 0. Those are an indication that the surface was inserted with uniform weights and/or linear knots. Such weights and knots are unnecessary and can be ignored by passing null at the time of the call to Show_NURBS_Surface() .

NOTES

It is also possible to show the facetted form of the NURBS surface as a shell by using Open_Geometry() and Show_Shell() . See the documentation on Show_Shell() for more details.

RESTRICTIONS

See also
Insert_NURBS_Surface, Show_NURBS_Surface, Edit_NURBS_Surface, Show_NURBS_Surface, Trim_NURBS_Surface_By_Curve, Trim_NURBS_Surface_By_Poly, Insert_NURBS_Curve, Edit_NURBS_Curve, Show_NURBS_Curve, Show_Shell

◆ Show_NURBS_Surface_Size()

void Show_NURBS_Surface_Size ( HC_KEY  key,
int *  u_degree,
int *  v_degree,
int *  u_count,
int *  v_count,
int *  weights_count,
int *  u_knots_count,
int *  v_knots_count 
)

Finds the size of a given NURBS surface. This is useful in determining the size of the data structure that must hold points

Parameters
key- The unique identifier returned by a previous call to Insert_NURBS_Surface()
u_degree- Degree of the surface in the u direction. Returned to user. Passed by reference always.
v_degree- Degree of the surface in the v direction. Returned to user. Passed by reference always.
u_count- Number of control points in the u direction. Returned to user. Passed by reference always.
v_count- Number of control points in the v direction. Returned to user. Passed by reference always.
weights_count- Number of weights that were originally specified with the surface. Should always be either 0 or u_count x v_count. Returned to user. Passed by reference always.
u_knots_count- Number of knots in the u direction that were originally specified with the surface. in the u direction. Should always be either 0 or u_count + u_degree + 1. Returned to user. Passed by reference always.
v_knots_count- Number of knots in the v direction that were originally specified with the surface. in the v direction. Should always be either 0 or v_count + v_degree + 1. Returned to user. Passed by reference always.

DETAILS

No additional details. See Show_NURBS_Surface()