/* The following code fragment demonstrates the work around. */
if (UF_ASSEM_is_occurrence (face))
{
double transform[4][4];
double proto_radii[2];
double proto_positions[6];
UF_ASSEM_ask_transform_of_occ (face, transform);
UF_MODL_ask_face_min_radii (face,
&num_radii,
proto_radii,
proto_positions,
params);
if (num_radii)
{
UF_MTX4_vec3_multiply (proto_positions,
(const
double *) transform,
positions);
/* scale the radii */
radii[0] = proto_radii[0]
/ transform[3][3];
if (num_radii > 1)
{
UF_MTX4_vec3_multiply
(&proto_positions[3],
(const
double *) transform,
&positions[3]);
/*
scale the radii */
radii[1]
= proto_radii[1] / transform[3][3];
}
}
}