PK_ERROR_code_t PK_TOPOL_render_line ( --- received arguments --- const int n_topols, --- number of entities const PK_TOPOL_t topols[], --- entities to rendered const PK_TRANSF_t topol_transfs[], --- applied transformations const PK_TRANSF_t view_transf, --- viewing transformation const PK_TOPOL_render_line_o_t *options --- options structure ) Render an array of topological entities through GO as a) a view independant wire frame drawing b) a view dependant wire frame drawing or c) a hidden line drawing, according to values supplied in an options structure. Specific Errors: PK_ERROR_duplicate_array_item topol has duplicates but no transf array (MILD) PK_ERROR_bad_component topol or view transf is inappropriate (MILD) PK_ERROR_field_of_wrong_type options are inconsistent with each other (MILD) PK_ERROR_unsuitable_topology entity in topols array is not an edge, face or body (MILD) PK_ERROR_bad_tolerance is_<tol> is true but used with a bad <tol> (MILD) PK_ERROR_distance_too_small unsuitable hatch line separation (MILD) This function produces a 3D line drawing of topological entities in the world coordinate system via GO. Each topological entity may be a body, face or edge, if any other type of topological entity appears in 'topols' the error PK_ERROR_unsuitable_topology will be returned. The function arguments determine what type of line drawing is created : - a view independant wire frame drawing - a view dependant wire frame drawing - a hidden line drawing View independent drawings are created using the default visibility and silhouette settings defined by the macro PK_TOPOL_render_line_o_m. View dependent drawings require the 'silhouette' option switched to a value other than PK_render_silhouette_no_c and for a view entity argument to be given. Hidden line drawings require the same arguments as for view dependent drawings and the 'visibility' option switched to a value other than PK_render_vis_no_c topol_transfs If topol_transfs is set to NULL, entities in topols are not transformed. The topols array may not contain duplicates in this case. If topol_transfs is not set to NULL, it refers to an array of TRANSFs of length n_topols. The topols array may contain duplicates in this case. Each entity in topols is transformed by the corresponding entry in topol_transfs. The 'topol_transfs' matrices may not contain perspective terms. They may only contain translation and rotation components. Reflections, scales and shears are not allowed. If a topol_transfs entry is set to PK_ENTITY_null, it implies that the corresponding entity in topols is not to be transformed. view_transf The view_transf argument is needed when generating silhouettes for view dependent and hidden line drawings. The application frustrum must apply a copy of its underlying view matrix to all graphics data passed through GO (which are output in a world coordinate system). A view_transf argument of PK_ENTITY_null is equivalent to providing a unit matrix. A perspective view is generated if view_transf contains non-zero perspective terms. restrictions The following restrictions apply when generating view independant drawings: - the 'smoothness' option must not be set to PK_render_smooth_draft_c - unfixed blends cannot be drawn when a viewport is specified The following restrictions apply when generating view dependant drawings: - the 'smoothness' option must not be set to PK_render_smooth_draft_c - unfixed blends are drawn using the original unblended edge The following restrictions apply when generating hidden line drawings: - only complete bodies are drawn (any other topological entities in the topols array are ignored). - if using PK_render_vis_inv_draft_c ( or PK_render_vis_extended_c with invisible set to PK_render_invisible_yes_c and drafting set to PK_render_drafting_yes_c ) the view_transf matrix must not contain non-zero perspective terms - the 'silhouette' option must not be set to PK_render_silhouette_no_c - unfixed blends are drawn using the original unblended edge