Element type: | miSCENE_BASIS_LIST |
Data type: | miBasis_list[ ] |
Sizes: | int no_bases, int no_scalars |
Defaults: | all nulls |
enum miBasis_type { miBASIS_NONE = 0, /* for internal use */ miBASIS_BEZIER, miBASIS_BSPLINE, miBASIS_CARDINAL, miBASIS_MATRIX, miBASIS_TAYLOR }; typedef struct { miGeoIndex no_bases; miGeoIndex no_scalars; miBasis bases[1]; } miBasis_list; typedef struct miBasis { enum miBasis_type type; miGeoIndex degree; /* undefined for Cardinal */ miGeoIndex stepsize; /* only for miBASIS_MATRIX */ miGeoIndex value_idx; /* index into the basis scalar list */ } miBasis;
A translator must provide: type, degree; if the type is basis matrix, also stepsize and value_idx.
no_bases specifies the number of bases in the basis list.
no_scalars specifies the number of scalars that follow the basis list. Scalars are used for basis matrix bases, which require degree^2 scalars for a matrix defining the basis. The first scalar in the list has index 0.
bases is the basis array. It is actually allocated larger.
type is one of miBASIS_BEZIER, miBASIS_BSPLINE, miBASIS_CARDINAL, miBASIS_MATRIX, and miBASIS_TAYLOR.
degree is the degree of the basis.
stepsize is used for basis matrix bases only.
For an explanation, see the description of bases in the mental ray User Manual.
Copyright © 1986-2008 by mental images GmbH