PK_GEOM_transform   


PK_ERROR_code_t     PK_GEOM_transform
(
--- received arguments ---
PK_GEOM_t           in_geom,   --- geometric entity to be transformed
PK_TRANSF_t         transf,    --- transformation
double              tolerance, --- precision for replacing geometry

--- returned arguments ---
PK_GEOM_t    *const out_geom,  --- transformed entity
PK_LOGICAL_t *const exact      --- whether result is exact.
)


This function transforms the given geometric entity by the given
transformation.


Specific Errors:
    PK_ERROR_request_not_supported  bad combination of geometry and transf
    PK_ERROR_bad_component          transformation matrix has perspective terms


out_geom is a new entity which is the result of applying transformation
transf to geometric entity in_geom.

If in_geom is a point then out_geom is a point.

For curves and surfaces, out_geom will satisfy the first possible of the
following list of criteria:

 1 - be of the same class as in_geom,
 2 - be exactly coincident with the transformation of in_geom,
 3 - not deviate by more than the given tolerance from the transformation of
     in_geom.

The returned argument exact is PK_LOGICAL_true if either in_geom is a
point, or criterion 1 or 2 has been satisfied.  If out_geom only satisfies
criterion 3, then exact is returned as PK_LOGICAL_false.

If in_geom has any geometric dependents then new geometric entities are
created as transformations of these.

If in_geom is a cone, then it is not possible to transform it by a
transformation involving non-uniform scale.  An attempt to do this will lead to
the error PK_ERROR_request_not_supported.

The transformation matrix must not contain perspective terms