 |
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)