PK_BSURF_create_constrained_o_t   

struct PK_BSURF_create_constrained_o_s
    {
    int                     o_t_version;  --- version number of options
                                          --- structure
    int                     n_positions;  --- number of position constraints
                                          --- (0)
    const PK_VECTOR_t      *positions;    --- position constraints (NULL)
    const PK_UV_t          *uvs;          --- uv parameters of 'positions'
                                          --- (NULL)
    PK_SURF_t               uv_surface;   --- surface for parameterising
                                          --- 'positions' by normal
                                          --- projection (PK_ENTITY_null)
    int                     n_normals;    --- number of normal constraints
                                          --- (0)
    const PK_VECTOR1_t     *normals;      --- normal constraints (NULL)
    const int              *normal_indices;
                                          --- indices linking 'normals'
                                          --- to 'positions' (NULL)
    double                  tolerance;    --- distance tolerance (1.0e-5)
    double                  angular_tolerance;
                                          --- angular tolerance in radians
                                          --- (0.0)
    PK_constrained_opt_t    optimise;     --- how to optimise the algorithm
                                          --- (PK_constrained_opt_perf_c)
    PK_constrained_update_t update;       --- update flag
                                          --- (PK_constrained_update_default_c)
    };
typedef struct PK_BSURF_create_constrained_o_s PK_BSURF_create_constrained_o_t;



This structure contains optional controls for PK_BSURF_create_constrained.

Used in:

PK_BSURF_create_constrained



Description of fields:

'n_positions'           The number of position constraints. (0)

'positions'             The position constraints. (NULL)

'uvs'                   The corresponding surface parameters of 'positions'
                        if supplied. (NULL)

'uv_surface'            The surface for parameterising 'positions' by normal
                        projection. It is an error to supply both 'uvs' and
                        'uv_surface'. If neither 'uvs' nor 'uv_surface' is
                        supplied, then a parameterisation will be derived
                        from a least square plane of 'positions'.
                        (PK_ENTITY_null)

'n_normals'             The number of normal constraints. (0)

'normals'               The normal constraints. These may be provided at
                        some or all of the 'positions'. (NULL)

'normal_indices'        The indices linking 'normals' to 'positions'. This is
                        an array parallel to the 'normals' array. It contains
                        the indices of those 'positions' where the 'normals'
                        are assigned. (NULL)

'tolerance'             The distance tolerance to within which the B-surface
                        will need to fit the position constraints. (1.0e-5)

'angular_tolerance'     The angular tolerance in radians if non-zero to
                        within which the B-surface will need to fit the
                        normal constraints. (0.0)

'optimise'              Whether the algorithm should be optimised for
                        performance or improved surface smoothness quality.
                        (PK_constrained_opt_perf_c)

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