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_analytic_c)
    PK_BODY_topology_t                topology_form;
                                        --- topology of resultant body
                                        --- (PK_BODY_topology_minimal_c)
    PK_BODY_vertex_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)
    double                            tolerance;
                                        --- tolerance (1.0e-5)
    PK_LOGICAL_t                      minimise_tolerance;
                                        --- minimise tolerances where
                                        --- possible (PK_LOGICAL_false)
    PK_BODY_loft_update_t             update;
                                        --- update flag
                                        --- (PK_BODY_loft_update_default_c)
    PK_BODY_loft_deriv_mag_t          deriv_mag;
                                        --- method to use for calculating
                                        --- derivative magnitudes
                                        --- (PK_BODY_loft_deriv_mag_single_c)
    PK_LOGICAL_t                      want_edge_tracking;
                                        --- whether to return tracking
                                        --- information for edges
                                        --- (PK_LOGICAL_false)
    PK_BODY_smoothness_t              profile_smoothness;
                                        --- whether to use an exact or tolerant
                                        --- test when deciding whether profile
                                        --- edges meet g1 smoothly
                                        --- (PK_BODY_smoothness_exact_c)
    PK_LOGICAL_t                      create_construction_topol;
                                        --- whether to create edges
                                        --- corresponding to internally created
                                        --- construction profiles
                                        --- (PK_LOGICAL_false)
    PK_LOGICAL_t                      label_profiles;
                                        --- whether to return ordering
                                        --- information for edge tracking
                                        --- (PK_LOGICAL_false)
    };

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.

Used in:

PK_BODY_make_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.

 See Specifying derivative conditions for the first or last profile.

'n_guide_wires'         The number of guide curves for the loft. (0)

'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 through a
                        set of matched profile vertices at the wire's own
                        vertices, subject to relevant vertex tolerances. (NULL)

                        See Lofting with guide wires.

'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.

                        If set to PK_BODY_simplify_no_c, no simplification will
                        be attempted.
                        If set to PK_BODY_simplify_analytic_c, the function
                        will attempt to generate analytic surfaces that are
                        within session precision of the input profiles and any
                        guide wires.
                        If set to PK_BODY_simplify_swept_spun_c the function
                        will return status code PK_BODY_loft_bad_simplify_c, as
                        this option is invalid for PK_BODY_make_lofted_body.

                        (PK_BODY_simplify_analytic_c)
                        See Simplification.

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

                        See Topology form.

'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 distinct
                        profile.

                        See Matching.

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

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

'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.
                        (NULL)

 See Specifying derivative conditions for intermediate profiles.

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

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

'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
                        corresponding entry in 'guide_derivs'. (NULL)

 See Specifying derivative conditions for guide wires.

'tolerance'             The tolerance to which the lofting operation may
                        approximate entities or assume that entities are
                        coincident. (1.0e-5)

'minimise_tolerance'    If set to PK_LOGICAL_true, topology will be created
                        with smaller tolerances than 'tolerance' if possible.
                        (PK_LOGICAL_false). See
                        Minimising lofting tolerances for more
                        information.

'update'                The default value allows applications to take
                        advantage of the latest enhancements to the lofting
                        algorithm. To maintain consistency when rebuilding
                        models created in a previous version of Parasolid, a
                        non-default value should be specified.
                        (PK_BODY_loft_update_default_c)

'deriv_mag'             This option specifies the algorithm used to calculate
                        derivative magnitudes when derivative conditions have
                        been specified. It is recommended that this is always
                        set to PK_BODY_loft_deriv_mag_round_c, unless
                        updating old models. (PK_BODY_loft_deriv_mag_single_c).
                        See here for more information.

'want_edge_tracking'    If set to PK_LOGICAL_true, then the returned
                        'tracking_info' will contain information about the
                        edges in the resultant body, as well as the faces. If
                        set to PK_LOGICAL_false, then only information about
                        the faces will be returned. (PK_LOGICAL_false)

'profile_smoothness'    This option specifies whether an exact or tolerant
                        test is used to determine if profile edges meet g1
                        smoothly. If profile edges do not meet g1 smoothly at
                        any profile vertex, then the resultant body will have
                        an edge in the loft direction passing through this
                        vertex, and the faces adjacent to this edge will not
                        meet smoothly. If the profile edges meet g1 smoothly
                        for every vertex in a set of matched profile vertices,
                        then either no edge will exist on the resultant body
                        corresponding to this set of vertices, or there will
                        be an edge which will be g1 smooth (depending on the
                        value of 'topology_form'). (PK_BODY_smoothness_exact_c)

                        For more information, see
                        Controlling profile smoothness.

'create_construction_topol'
                        If set to PK_LOGICAL_true, then additional edges may
                        be created (irrespective of the value of
                        'topology_form') on the resultant body. Parasolid does
                        this in the case of a periodic loft with one or two
                        profiles, for instance. (PK_LOGICAL_false)

                        For more information, see
                        Creating construction topology.

'label_profiles'        If set to PK_LOGICAL_true, then extra tracking
                        information is returned for edges. Note that this
                        option has no effect if 'want_edge_tracking' is set to
                        PK_LOGICAL_false. For each edge created from a profile
                        edge (including those of any construction profile), an
                        extra entry of class PK_CLASS_int is returned in
                        'original_topols'. Edges with the same value
                        correspond to the same profile. The value gives the
                        order that the distinct profiles appear in, in the
                        direction of the loft. The profile at the start of the
                        loft will have a value of 0. (PK_LOGICAL_false)

                        For more information, see
                        Tracking information for lofted bodies.