PK_BODY_make_lofted_body_o_t   


struct PK_BODY_make_lofted_body_o_s
    {
    int                               o_t_version;
                                              --- version number
    PK_BODY_loft_end_conds_t          end_conditions;
                                              --- behaviour of the lofted
                                              --- surfaces at the end profiles

    int                               n_guide_wires;
                                              --- number of guide wires (0)

    const PK_BODY_t                  *guide_wires;
                                              --- guide wires (NULL)

    PK_BODY_simplify_t                simplify;
                                              --- level of simplification
                                              --- (PK_BODY_simplify_yes_c)
    PK_BODY_topology_t                topology_form;
                                              --- topology of resultant body
                                              --- (PK_BODY_topology_minimal_c)
    PK_BODY_loft_matches_t            matches;
                                              --- how to match vertices on
                                              --- different profiles

    int                               n_intermediate_derivs;
                                              --- the number of intermediate
                                              --- profiles that have derivative
                                              --- constraints specified (0)
    const PK_BODY_loft_deriv_conds_t *intermediate_derivs;
                                              --- array of derivative
                                              --- constraints (NULL)
    const int                        *intermediate_profiles;
                                              --- array of profile indices
                                              --- (NULL)

    int                               n_guide_derivs;
                                              --- the number of guide wires
                                              --- that have derivative
                                              --- constraints specified (0)
    const PK_BODY_loft_deriv_conds_t *guide_derivs;
                                              --- array of derivative
                                              --- constraints for guide wires
                                              --- (NULL)
    const int                        *guide_indices;
                                              --- array of guide indices
                                              --- (NULL)
    };

typedef struct PK_BODY_make_lofted_body_o_s PK_BODY_make_lofted_body_o_t;



This structure holds optional controls on the construction of a lofted body.


The option structure for making a lofted body has the following fields :

end_conditions        A structure to specify particular constraints on the
                        derivatives across the start and/or end profiles. It
                        is also used to specify a periodic loft.

n_guide_wires         The number of guide curves for the loft.

guide_wires           An array of oriented connected manifold wire bodies
                        that specify the guide curves for the loft. Each guide
                        wire is required to cut across all profiles though a
                        set of matched profile vertices at the wire's own
                        vertices, subject to relevant vertex tolerances.

simplify              A token used to indicate the level of simplification
                        to be attempted on the lofted surfaces generated to
                        form the faces of the lofted body.

topology_form         A token used to indicate how the resultant body should
                        be divided into faces.

matches               A structure containing the profile vertex matching
                        information. The structure provides a map between the
                        vertices on one profile with those on the next.

n_intermediate_derivs The number of intermediate profiles (ie, profiles other
                        than the start or end profile) that have derivative
                        conditions specified.

intermediate_derivs   An array of length equal to n_intermediate_derivs
                        specifying derivative conditions for each profile as
                        given in intermediate_profiles.

intermediate_profiles An array of length equal to n_intermediate_derivs
                        giving the index of the profile that has the derivative
                        conditions given by the corresponding entry in
                        intermediate_derivs. Each entry should be an int
                        between 1 and n_profiles-2 for non-periodic lofting,
                        or between 1 and n_profiles-1 for periodic lofting.

n_guide_derivs        The number of guide wires with derivative constraints.
                        This must be a number between 0 and n_guides.

guide_derivs          An array of length equal to n_guide_derivs specifying
                        derivative conditions for each guide wire as given in
                        guide_indices.

guide_indices         An array of length equal to n_guide_derivs giving the
                        index of the guide wire (as given in guide_wires)
                        that has the derivative conditions given by the
                        corresponsing entry in guide_derivs.