INTERFACE SPHomoLabel; (* Label-to-index mapping for homogeneous coefficients *) TYPE T = ARRAY[0..2] OF CARDINAL; (* Standard label of a Bezier Control value or coefficient of a homogeneous polynomial, eg. (6,0,0) or (3,2,1) The term order is given by the algorithm poly := 0; index := 0; FOR i := 0 TO d DO FOR j := 0 TO d-m DO k := d - m - n; poly := poly + c[index] * B^d_{i,j,k}; index := index + 1; END END; *) PROCEDURE IndexToLabel(i: CARDINAL; d: CARDINAL): T; PROCEDURE LabelToIndex(e: T; d: CARDINAL): CARDINAL; (* Maps standard labels to position in the ControlValue array; e.q. (6,0,0) <--> 0, (5,1,0) <--> 1, ... , (0,0,6) <--> 27 *) END SPHomoLabel.