PK_ERROR_code_t PK_TOPOL_render_facet ( --- received arguments --- const int n_topols, --- number of entities const PK_TOPOL_t topols[], --- entities to be facetted const PK_TRANSF_t topol_transfs[], --- applied transformations const PK_TRANSF_t view_transf, --- viewing transformation const PK_TOPOL_render_facet_o_t *options --- options structure ) Generate a facetted representation of topological entities through GO. Specific Errors: PK_ERROR_duplicate_array_item topol has duplicates but no transf array PK_ERROR_bad_component topol or view transf is inappropriate PK_ERROR_general_body PK_facet_match_topol_c option can't be used PK_ERROR_field_of_wrong_type PK_facet_match_topol_c requires cull_none_c PK_ERROR_unsuitable_topology entity in topols array is not face or body Each received topological entity can be a general, solid or a sheet body or face, if any other type of topological entity appears in 'topols' the error PK_ERROR_unsuitable_topology will be returned. If topol_transfs is set to NULL the topols entities are not transformed (and the topols array cannot contain duplicates). If topol_transfs is not NULL, it is an array of TRANSFs of length n_topols. The topols array can contain duplicates in this case. Each entity in topols is transformed by its corresponding entity in topol_transfs. Any entry in the topol_transfs array can be PK_ENTITY_null, indicating that the correspondin gentity in topols is not to be transformed. Transforms may only contain translation and rotation components. Reflections, scales and shears are not allowed. The view_transf argument is used when generating view-dependent facet data for the back face culling and the increased local silhouette density options. A perspective view is created if the underlying matrix contains non-zero perspective terms. The argument is set to PK_ENTITY_null in other cases. Facet vertex coordinates are always output through GO as world coordinates even when a viewing transform entity is provided (data must be transformed into the viewing coordinate system before display). The PK_TOPOL_facet_o_t options structure defines two sets of controls 1) how the facet mesh is generated 2) which additional GO data are output The mesh generation options include parameters such as the maximum number of sides per facet and the tolerance values which are to be used when approximating surfaces by planar facets. By default, only the facet coordinate data are output through GO. The additional GO data options denote whether the function should calculate and output the following data through GO : - surface normals - surface parameters - owner edge identifiers and whether it should output facets individually or in facet strip form. The following restrictions apply when generating facet data: - if topology edge matching is on, the 'cull' option must not be used - if topology edge matching is on, a general body will not be facetted - the view_transf matrix may only contain translation and rotation components; reflections, scales and shears are not allowed. - the silhouette density option PK_facet_density_use_view_c only uses the directional component of the viewing transform entity (and it assumes a parallel view). If multiple view_directions are supplied via the option view_directions, these directions will override the view_transf.