void pnon_uniform_b_spline_curve3_colr (
const Pcurve_geom_spline *curve_spline, /* curve geometry spline */ const Pcurve_colr_spline *colr_spline /* curve colour spline ( optional ) */
)
typedef struct {
Pint order; /* spline order */
Pfloat_list knots; /* knots */
Pfloat low_limit; /* lower parameter range limit */
Pfloat high_limit; /* high parameter range limit */
Pctrl_point3_list ctrl_points; /* list of control points */
} Pcurve_geom_spline;
typedef struct {
Pint num_floats; /* number of floats in list */
Pfloat *floats; /* list of floats */
} Pfloat_list;
typedef enum {
PB_SPLINE_RATIONAL,
PB_SPLINE_NON_RATIONAL
} Prationality;
typedef struct {
Prationality rationality; /* control point format: [NON] RATIONAL */
Pint num_points; /* number of control points */
Ppoint3_ptr points; /* list of control points */
} Pctrl_point3_list;
typedef union {
Ppoint3 *point3; /* pointer to 3D points */
Phomo_point4 *homo_point4; /* pointer to 4D homogeneous points */
} Ppoint3_ptr;
typedef struct {
Pint order; /* spline order */
Pfloat_list knots; /* knots */
Pint colr_type; /* colour type */
Pcolr_ctrl_point_list colrs; /* list of colour control points */
} Pcurve_colr_spline;
typedef struct {
Prationality rationality; /* curve rationality */
Pint num_points; /* number of control points */
Pcolr_ctrl_point_ptr points; /* list of colour control points */
} Pcolr_ctrl_point_list;
typedef union {
Pcolr_rep_ptr points; /* pointer to colour points */
Phomo_colr_rep_ptr homo_points; /* pointer to homogeneous colour points */
} Pcolr_ctrl_point_ptr;
typedef union {
Prgb *rgb; /* pointer to RGB colour values */
Pcieluv *cieluv; /* pointer to CIELUV colour values */
Phls *hls; /* pointer to HLS colour values */
Phsv *hsv; /* pointer to HSV colour values */
} Pcolr_rep_ptr;
typedef union {
Phomo_rgb *rgb; /* pointer to homogeneous RGB colour values */
Phomo_cieluv *cieluv; /* pointer to homogeneous CIELUV colour values */
Phomo_hls *hls; /* pointer to homogeneous HLS colour values */
Phomo_hsv *hsv; /* pointer to homogeneous HSV colour values */
} Phomo_colr_rep_ptr;
This function specifies the non-uniform B-spline curve primitive with colour.
The NON-UNIFORM B-SPLINE CURVE 3 WITH COLOUR element is inserted in the open structure after element pointer or replaces the element indicated by element pointer, depending on the edit mode value. Element pointer is updated and points to the NON-UNIFORM B-SPLINE CURVE 3 WITH COLR structure element. The values specified in the function are associated with the element.
A NULL value for the colr_spline parameter indicates the corresponding optional data is not supplied.
Attributes associated with Non-Uniform B-Spline Curve 3 With Colour :
LINETYPE
LINEWIDTH SCALE FACTOR
LINE COLOUR
CURVE APPROXIMATION CRITERIA
If used in one of the two GPHIGS specific modes NRS or NDDS, the effect of this function is different from the effect described in the standard.
In NRS mode, (see OPEN PIPE), the element is not stored in a structure. It is sent to the workstation on which the pipe is opened.
In NDDS mode, (see BEGIN NON DUPLICATE DATA STORE), the element is stored in the structure but its content is not copied into the CSS. GPHIGS stores only the pointer to the user's data.
See GPHIGS user guide for more details on NRS and NDDS modes.
open structure, open pipe (ext), begin non duplicate data storage (ext), non-uniform b-spline curve 3, polyline, set curve approximation criteria, inquire current element content, inquire current element type and size