Brief Index      Full Index      I.M. Reference

Show_NURBS_Surface


Functions

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)
void DShow_NURBS_Surface (HC_KEY key, int *u_degree, int *v_degree, int *u_count, int *v_count, HCD_POINT *points, double *weights, double *u_knots, double *v_knots)
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)

Function Documentation

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 KInsert_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 KInsert_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

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

Similar to Show_NURBS_Surface() but accepts double-precision values. This command can only be used when the application source includes the HOOPS double-precision header, hcd.h.

Parameters:
key - The unique identifier returned by a previous call to KInsert_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().

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 KInsert_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()

Main Index
Brief Index      Full Index      I.M. Functions