 |
PK_FACE_simplify_geom |
|
PK_ERROR_code_t PK_FACE_simplify_geom
(
--- received arguments ---
int n_faces, --- number of faces
PK_FACE_t faces[], --- faces
const PK_FACE_simplify_geom_o_t *options, --- options
--- returned arguments ---
int *const n_geoms, --- number of geoms returned
PK_GEOM_t **const geoms --- new geoms (optional)
)
This function simplifies the classic geometries of the supplied faces, where
possible.
See also Simplifying geometry for more information.
The function takes a list of faces and attempts to simplify their freeform,
classic geometries. Each face itself, and dependent edges in that face, are
not affected; however their respective geometries may be replaced by simpler
geometries, and the old geometries deleted. The number of new geometric
entities is returned in 'n_geoms'. The new geometric entities may be returned
in 'geoms'.
The output array 'geoms' is optional. If the 'want_geoms' flag in the options
structure is set to PK_LOGICAL_true, then the 'geoms' array will be output.
Otherwise only 'n_geoms' will be output.
One level of simplification exists. A B-curve or B-surface will only be
replaced if a single curve or surface can replace the entire original.
The following simplifications may be made on curves:
original form simplified form
------------- ---------------
Rational B-curve Non-rational B_curve
B-curve line or circle
The following simplifications may be made on surfaces:
original form simplified form
------------- ---------------
Rational B-surface Non-rational B-surface
B-surface plane, cylinder, cone, sphere, torus
Options
Option structure argument 'PK_FACE_simplify_geom_o_t* options' has one logical
argument, 'want_geoms'. If 'want_geoms' is set to PK_LOGICAL_true, then
'geoms' will be filled in.