Previous Next Up Title Contents Index Functions Index Top Library

NON-UNIFORM B-SPLINE CURVE 3 WITH COLOUR

PNON_UNIFORM_B_SPLINE_CURVE3_COLR


CALL SEQUENCE

void pnon_uniform_b_spline_curve3_colr (
)

TYPES

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;

PHIGS STATE

(PHOP,*,STOP,*)

EFFECT

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

EXTENSION TO THE PHIGS STANDARD

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.

ERRORS

5
Ignoring function, function requires state (PHOP,*, STOP,*)
500
Ignoring function, the specified order is less than one
501
Ignoring function, not enough control points for the specified order
502
Ignoring function, the specified order is inconsistent with number of knots and control points
503
Ignoring function, the knot sequence is not non-decreasing
506
Ignoring function, the parameter range is inconsistent with the knots
507
Ignoring function, the fourth coordinate of a rational control point is less than or equal to zero

SEE ALSO

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


Previous Next Up Title Contents Index Functions Index Top Library