| 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, 2015 NVIDIA ARC GmbH. All rights reserved.