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) |
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.
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. |
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() .
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.
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.
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. |
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
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. |
No additional details. See Show_NURBS_Surface()