 |
PK_SURF_fix_degens_o_t |
|
struct PK_SURF_fix_degens_o_s
{
int o_t_version; --- version number of option
--- structure
double tolerance; --- tolerance for approximating
--- surfaces (1.0e-5)
double target_radii[2]; --- lower bounds for the radius of
--- curvature of the surface
--- (0.0,0.0)
int n_normals; --- number of normals (0)
const PK_VECTOR1_t *normals; --- normals of the degeneracies
--- (NULL)
const int *normal_indices; --- indices linking 'normals' to each
--- degeneracy
};
typedef struct PK_SURF_fix_degens_o_s PK_SURF_fix_degens_o_t;
This structure holds optional controls for fixing degeneracies on a surface.
Used in:
PK_SURF_fix_degens
The option structure for fixing degeneracies on a surface has the following
fields :
'tolerance' The tolerance to be used when approximating the surface.
(1.0e-5)
'target_radii' Lower bounds for the minimum radii of curvature of the
resultant surface. The function will produce a surface
that, in the vicinity of the degeneracies, has minimum
radii of curvatures greater than these values. The first
entry in the array is for the minimum radius in the
direction of the surface normal, and the second entry is
for the direction opposite to the surface normal. Both
entries must be non-negative. Note the resultant surface
may still have a lower radius of curvature, if the input
'surf' is also tightly curved not near a degeneracy.
(0.0,0.0)
'n_normals' Number of normals supplied. (0)
'normals' An array of length 'n_normals'. For each degeneracy, an
optional normal may be supplied, specifying the normal that
the resultant degeneracy should have.
Normals may only be supplied for degeneracies where all of
the following are true:
o 'have_position' is equal to PK_LOGICAL_true.
o The degeneracy lies on a boundary of the surface, and
extends along the entire range of that boundary.
The resultant surface will still have a degeneracy at each
of these positions (and the resultant degeneracy will be
parametric), so this option allows control over the normal
of such degeneracies. (NULL)
'normal_indices' An array of length 'n_normals' giving the index of the
degeneracy in 'degens' that will have the normal given by
the corresponding entry in 'normals'.
(NULL)