PK_FACE_taper_o_t   

struct PK_FACE_taper_o_s
    {
    int                     o_t_version;   --- version number of option
                                           --- structure
    PK_LOGICAL_t            merge_face;    --- whether tapered faces are to
                                           --- be merged with their
                                           --- neighbours
                                           --- (PK_LOGICAL_true)
    PK_check_fa_fa_t        check_fa_fa;   --- check for face-face
                                           --- inconsistencies
                                           --- (PK_check_fa_fa_yes_c)
    PK_EDGE_array_t         tapered_edges; --- tapered step edges [NF]
    PK_EDGE_array_t         normal_edges;  --- normal step edges [NF]
    PK_taper_method_t       method;        --- main face taper method
                                           --- (PK_taper_method_isocline_c)
                                           --- [PF]
    double                  offset;        --- offset value (0.0) [NF]
    PK_SURF_t               top_surface;   --- top surface (PK_ENTITY_null)
                                           --- [NF]
    PK_taper_smooth_step_t  taper_smooth_step;
                                           --- whether to create step faces
                                           --- (PK_taper_smooth_step_no_c)
                                           --- [NF]
    PK_taper_step_face_t    taper_step_face;
                                           --- step face between taper
                                           --- faces
                                           --- (PK_taper_step_face_no_c)
                                           --- [NF]
    int                     n_faces;       --- number of faces, which are
                                           --- to be tapered at different
                                           --- taper angles (0) [NF]
    const PK_FACE_t        *taper_faces;   --- faces which are tapered with
                                           --- different taper angles
                                           --- (NULL) [NF]
    const double           *angles;        --- different taper angles. Size
                                           --- of this array is the same as
                                           --- that of the 'taper_faces'
                                           --- array
                                           --- (NULL)  [NF]
    PK_taper_laminar_edge_t position;      --- defines how to process
                                           --- laminar boundaries
                                           --- (PK_taper_laminar_edge_normal_c)
    PK_FACE_grow_t          grow;          --- controls which faces to grow
                                           --- when repairing clashes
                                           --- (PK_FACE_grow_update_c) [PF]
    PK_local_ops_update_t   update;        --- update flag
                                           --- (PK_local_ops_update_default_c)
    int                     n_parting_edges;
                                           --- number of parting edges (0) [NF]
    const PK_ENTITY_t      *parting_edges; --- parting body step edges (NULL)
                                           --- [NF]
    PK_BODY_t               parting_body;  --- parting body (PK_ENTITY_null)
                                           --- [NF]
    };
typedef struct PK_FACE_taper_o_s PK_FACE_taper_o_t;


This structure contains optional controls for PK_FACE_taper

Used in:

PK_FACE_taper



Description of fields:



'merge_face'             If this flag is set to PK_LOGICAL_true, the
                         new faces produced by the operation will be
                         merged with their neighbouring faces, if it is
                         feasible. The default value is PK_LOGICAL_true.



'check_fa_fa'            Check for face-face inconsistencies.
                         Values can be :
                             PK_check_fa_fa_no_c
                             PK_check_fa_fa_yes_c
                         The default value is PK_check_fa_fa_yes_c.



'tapered_edges'          Edges which will give rise to tapered step faces.
                         These faces' surfaces will satisfy the taper
                         condition. Edges in this array should NOT also
                         appear in the 'normal_edges' array.



'normal_edges'           Edges which will give rise to normal step faces.
                         These faces' surfaces are ruled surfaces normal
                         to the relevant original taper face.
                         These surfaces do NOT necessarily satisfy the taper
                         condition. Edges in this array should NOT also
                         appear in the 'tapered_edges' array.



'method'                 Taper method to construct main taper faces' surfaces.
                         Values can be :
                             PK_taper_method_isocline_c : isocline method
                             PK_taper_method_curve_c    : curve method
                             PK_taper_method_surface_c  : surface method
                             PK_taper_method_offset_c   : offset method
                             PK_taper_method_normal_c   : normal method
                         See here for more information.

                         o The isocline (or silhouette) method produces ruled
                           isocline surfaces satisfying the taper condition.
                           It will fail if the angle between the reference
                           curve tangent and the taper direction is smaller
                           than the taper angle. The taper surfaces were
                           previouly produced using this method.
                           See here for more information.

                         o The curve method produces ruled surfaces whose
                           ruling direction is in the plane containing the
                           taper direction and the direction perpendicular to
                           the taper direction and the reference curve tangent.
                           The reference curve is either the reference edge's
                           curve or the reference surface and taper face
                           intersection curve.
                           See here for more information.

                         o The surface method produces ruled surfaces whose
                           ruling direction is in the plane containing the
                           taper direction and the tapered face's surface
                           normal.
                           See here for more information.

                         o The offset method produces ruled surfaces from
                           reference edge's curves to their "offset  curves".
                           An "offset curve" is a curve on the given top
                           surface and that appears offset the given distance
                           from the relevant reference edge's curve when viewed
                           from the taper direction.
                           See here for more information.

                         o The normal method produces ruled surfaces similar
                           to the curve method, but is independent of
                           the global taper direction. Instead the taper
                           direction is a variable defined by the surface
                           normal of a corresponding surface along the
                           reference curve.
                           If the reference entity is an edge, the
                           corresponding surface is the surface of the face
                           connected to the taper face. If the reference
                           entity is a surface, the corresponding surface is
                           the reference surface itself.

                         Note that the only values supported for facet geometry
                         are PK_taper_method_isocline_c,
                         PK_taper_method_curve_c and PK_taper_method_surface_c.

                         The default value is PK_taper_method_isocline_c.



'offset'                 The offset distance for the offset taper method.
                         Positive/negative offset distance makes the curve
                         to offset towards the outside/inside of the body.
                         See here for more information.

'top_surface'            The surface on which the reference edge's curve is
                         projected to create the relevant offset curve.



'taper_smooth_step'      A "boundary edge" is an edge between a face which is
                         being tapered and one which is not.
                         If this option is set to PK_taper_smooth_step_yes_c
                         then side faces will be created along any smooth
                         boundary edges (if appropriate - for example no side
                         faces will be created if the tapered surface remains
                         coincident with the smooth edge). Setting this option
                         to PK_taper_smooth_step_yes_c has no effect on the
                         result if there are no smooth boundary edges.



'taper_step_face'        If this option is set to PK_taper_step_face_yes_c
                         step faces will be created between taper faces which
                         get separated during taper operation. An example is
                         smooth edges between taper faces, and multiple taper
                         angles are specified.
                         If the option is set to PK_taper_step_face_no_c, a
                         trim solution between taper faces is attempted.
                         If the option is set to PK_taper_preserve_smooth_c,
                         multiple taper angles cannot be specified on the set
                         of smoothly connected faces in the 'taper_faces'
                         array. All the smoothly connected taper faces in the
                         'taper_faces' array need to be specified a constant
                         taper angle.

                         See here for more information.



'n_faces'                number of faces in the 'taper_faces' array



'taper_faces'            Faces which are tapered with different taper
                         angles. This list could contain a mixture of
                         smoothly connected faces and sharply connected faces.
                         Each of these faces should be unique, and
                         should be a subset of the input faces array.
                         If a taper face and its reference face are both
                         specified in this array, then they must have same
                         taper angles specified in the angles array.

                         See here for more information.



'angles'                 Taper angles for each of the faces in the faces array.
                         If option PK_taper_preserve_smooth_c is specified and
                         multiple taper angles are specified for the set of
                         smoothly connected faces in the 'taper_faces' array,
                         PK_ERROR_bad_angle is returned.


                         See here for more information.



'position'               Specifies how to process laminar edge boundaries.
                         If the value is PK_taper_laminar_edge_normal_c,
                         geometry for the laminar edge is produced by
                         projecting the edge geometry along the taper surface
                         normal. This is the default behaviour.
                         If the value is PK_taper_laminar_edge_draw_c,
                         geometry for the laminar edge is produced by
                         intersecting the taper surface with a local surface,
                         constructed orthogonal to draw direction along the
                         laminar edge.

                         For more information, see here.



'grow'                   While repairing clashing features, there are
                         situations in which it is necessary for faces to be
                         grown.  This option controls which feature's faces
                         will be grown.

                         Permitted values are:
                              PK_FACE_grow_update_c
                              PK_FACE_grow_auto_c
                              PK_FACE_grow_moving_c
                              PK_FACE_grow_fixed_c
                              PK_FACE_grow_no_c
                              PK_FACE_grow_fail_c

                         Note that the value PK_FACE_grow_update_c is not
                         supported for facet geometry.

                         The default value is PK_FACE_grow_update_c, which
                         should be used for updating v20.0 and earlier models.
                         See here for more information.




'update'                 The default value allows applications to take
                         advantage of the latest enhancements of the generic
                         algorithms supporting Parasolid local operations
                         functions. To maintain consistency when rebuilding
                         models created in a previous version of Parasolid,
                         a non-default value should be specified.

                         The default value is PK_local_ops_update_default_c



'n_parting_edges'        Number of parting edges.
                         The default is 0.



'parting_edges'          Edges which will give rise to step faces created
                         from a parting body. The parting edges must be
                         coincident with the parting body. They should NOT
                         also appear in 'tapered_edges' or 'normal_edges'.
                         The default is NULL.
                         See here for more information.



'parting_body'           The body used to create step faces from the parting
                         edges. It must be a sheet body.
                         The default is PK_ENTITY_null.