PK_SURF_make_bsurf_array_o_t   

struct PK_SURF_make_bsurf_array_o_s
    {
    int                        o_t_version;
    double                     tolerance; --- tolerance for
                                          --- approximate result
                                          --- (1.0e-5)
    PK_LOGICAL_t               have_u_degree;
                                          --- whether u degree
                                          --- is specified
                                          --- (PK_LOGICAL_false)
    int                        u_degree;  --- degree in u direction (0)
    PK_LOGICAL_t               have_v_degree;
                                          --- whether v degree
                                          --- is specified
                                          --- (PK_LOGICAL_false)
    int                        v_degree;  --- degree in v direction (0)
    PK_LOGICAL_t               force_non_rational;
                                          --- force non-rational
                                          --- B-surface
                                          --- (PK_LOGICAL_false)
    PK_force_continuity_t      force_continuity;
                                          --- controls whether to
                                          --- force a certain level of
                                          --- continuity
                                          --- (PK_force_continuity_no_c)
    PK_continuity_t            continuity;
                                          --- level of continuity
                                          --- (PK_continuity_c1_c)
    PK_ITEM_t                  destination;
                                          --- destination for B-surfaces
                                          --- (PK_ITEM_null)
    };

typedef struct PK_SURF_make_bsurf_array_o_s PK_SURF_make_bsurf_array_o_t;



This structure holds optional controls on converting an array of surfaces into
B-surfaces.

Used in:

PK_SURF_make_bsurf_array


The option structure has the following fields :

'tolerance'          If the function is unable to make an exact B-surface, this
                     specifies the maximum deviation between the resultant
                     B-surface and the input surface. The function will usually
                     achieve this condition but this is not guaranteed.
                     (1.0e-5)

'have_u_degree'      Whether degree required of resultant B-surface in u
                     direction is specified. If this is set to PK_LOGICAL_true,
                     'u_degree' must be set to 3, 'have_v_degree' set to
                     PK_LOGICAL_true and 'v_degree' to 3. Other values for
                     u/v degree are not supported. If this is set to
                     PK_LOGICAL_false, the degree in the u direction will
                     depend upon the input surface. (PK_LOGICAL_false)

'u_degree'           degree of the resultant B-surface in the u direction. (0)

'have_v_degree'      Whether degree required of resultant B-surface in v
                     direction is specified. If this is set to PK_LOGICAL_true,
                     'v_degree' must be set to 3, 'have_u_degree' set to
                     PK_LOGICAL_true and 'u_degree' to 3. Other values for
                     u/v degree are not supported. If this is set to
                     PK_LOGICAL_false, the degree in the v direction will
                     depend upon the input surface. (PK_LOGICAL_false)

'v_degree'           degree of the resultant B-surface in the v direction. (0)

'force_non_rational' If set to PK_LOGICAL_true, the resultant surface will be
                     non-rational. Otherwise, the surface may or may not be
                     rational, depending on the input surface.
                     (PK_LOGICAL_false)

'force_continuity'   This option allows a minimum level of continuity for the
                     resultant surface to be supplied through the 'continuity'
                     option, and also controls how discontinuities of the input
                     surface will be handled.  It has the possible values:

                        o PK_force_continuity_yes_c
                          All discontinuities will be eliminated up to the
                          level specified by the 'continuity' option. Closed,
                          non-periodic surfaces will be made periodic.

                        o PK_force_continuity_prefer_c
                          If possible, the resulting B-surface will be
                          continuous up to the level specified by the
                          'continuity' option.
                          Large G1 discontinuities will be preserved and
                          reported in a PK_REPORT_3_discontinuities_c record.
                          Closed, non-periodic surfaces will be made periodic
                          unless there is a large G1 discontinuity across the
                          seam.

                        o PK_force_continuity_no_c  (default)
                          No attempt will be made to remove discontinuities.
                          This is the default value. Periodicity of closed
                          surfaces will not be enforced.

'continuity'         The desired continuity of the resulting B-surface.
                     This is ignored if 'force_continuity' is set to
                     PK_force_continuity_no_c. The possible values are:
                         PK_continuity_c1_c  (default)
                         PK_continuity_c2_c
                         PK_continuity_g1_c
                         PK_continuity_g2_c

'destination'        This option specifies the destination for the resulting
                     B-surfaces.
                     It can be a partition, PK_PARTITION_t, or a part,
                     PK_PART_t, but no other PK_ITEM_t. Alternatively it
                     may be set to PK_ITEM_null (default).
                        o  If 'destination' is a partition, the B-surfaces will
                        be orphan geometry in that partition.
                        o  If 'destination' is a part, the B-surfaces will be
                        construction geometry in that part.
                        o  If 'destination' is PK_ITEM_null, the B-surfaces
                        will be orphan geometry in the current partition.