Surfaces: Face List

Element type: miSCENE_FACE
Data type: miFace[ ]
Sizes: int no_faces
Defaults: all nulls except where otherwise noted
typedef struct miFace {
       miApprox         def_trim_approx;  /* approx techn. for default trims */
       miGeoRange       range[miUV_DIM];  /* min/max for parameter vals*/
       miGeoIndex       no_curves;        /* total number of curves */
       miGeoIndex       no_surfaces;      /* total # of surfs: 1 geo. + xtras */
       miGeoIndex       surface_idx;      /* surface list index */
       miGeoIndex       curve_idx;        /* index into the 'curves' list*/
       miTag            material;         /* optional: material of the face */
       miVertex_content gap_vert_info;    /* For calculating box sizes */
} miFace;

A translator must provide: range, no_surfaces, surface_idx, material, gap_vert_info.

A translator may provide: def_trim_approx, no_curves, curve_idx.

def_trim_approx is the approximation for default trimming curves. Default trimming curves are automatically created if the face has no explicit trimming curves attached. The default trimming curve follows the edges of the face. The miAPPROX_DEFTRIM approximation technique, which is allowed only here, should be used as default to create a default trim curve that does not introduce new vertices.

range[miU] and range[miV] specify the minimum and maximum values of the U and V parameter vectors.

no_curves specifies the total number of curves used by this face.

no_surfaces is the total number of surfaces for this face. This is at least 1 for the geometric surface, plus the numbers of texture, bump, and/or motion surfaces.

surface_idx is the index of the first surface in the surface list anchored in the object (see above) that is used for this face. This is the first of no_surfaces consecutive surfaces to use.

curve_idx is the index of the first curve in the curve list anchored in the object that is used for this face. This is the first of no_curves consecutive curves to use.

material specifies the tag of a material to use for the face.

gap_vert_info describes the layout and size of the vertices to create during tessellation. The boxes created during tessellation will get a copy of this vertex info structure.

Copyright © 1986-2011 by mental images GmbH