PK_GEOM_render   

PK_ERROR_code_t           PK_GEOM_render
(
--- received arguments ---
int                       n_geoms,   --- number of entities to be rendered
const PK_GEOM_t           geoms[],   --- geometric entities to be rendered
const PK_TRANSF_t         transfs[], --- transformations to be applied to geoms
const PK_GEOM_render_o_t *options    --- options structure
)


This function generates a view-independent representation of geometric entities
and returns this through the GO interface.


Specific Errors:

    PK_ERROR_unsuitable_entity      'geoms' contains a geometric
                                    entity of an unsupported type
                                    (MILD)
    PK_ERROR_duplicate_array_item   'geoms' contains duplicates but
                                    'transfs' is NULL
                                    (MILD)
    PK_ERROR_bad_component          'transfs' contains a transform of an
                                    inappropriate type
                                    (MILD)


Action on received entities
---------------------------

This function produces a 3D render of geometric entities in the world
coordinate system via GO. The geometric entities supported are B-curves
and B-surfaces, foreign geometry curves and surfaces, offsets of B-surfaces
and foreign geometry surfaces, and lattices.

All supported geometry types are rendered as 3D line drawings by default.
Lattices can also optionally be rendered using rendering primitives
corresponding to spheres, cylinders and cones.


Rendering geometry with transforms
----------------------------------

If 'transfs' is not NULL, it should be an array containing one PK_TRANSF_t for
each entity in 'geoms'. Each entity in 'geoms' is then transformed by its
corresponding entity in 'transfs'. Any entity in 'transfs' can be
PK_ENTITY_null, indicating that the corresponding entity in 'geoms' is not to
be transformed.

If 'transfs' is set to NULL the 'geoms' are not transformed. The 'geoms'
array may not contain duplicates in this case. If 'transfs' is not NULL,
it should be an array of PK_TRANSF_ts of length 'n_geoms'. The 'geoms'
array may contain duplicates in this case.

Transforms may only contain translation, rotation, and reflection components;
scales, shears and perspective components are not allowed.

Reports
-------

A report is returned via the Parasolid report mechanism of type
PK_REPORT_record_type_3_c. This record will have a 'status' of
PK_REPORT_3_render_curve_tols_c and contain the three tolerance values used by
Parasolid, whether supplied or calculated internally.

If 'geoms' contains a blended lattice and the option 'lattice' is set to
PK_render_lattice_solid_c, the lattice will be rendered with the blends
ignored and a report of type PK_REPORT_record_type_3_c will be returned.
This record will have a 'status' of PK_REPORT_3_render_lattice_c and contain
all such lattices in 'geoms'.