struct PK_BODY_sweep_law_discrete_s
{
int n_vertices;
PK_VERTEX_t *vertices;
double *values;
};
typedef struct PK_BODY_sweep_law_discrete_s PK_BODY_sweep_law_discrete_t;
This structure holds a discrete description of a scalar law curve for twist
or scale in sweeping as a set or vertex/value pairs.
The law description structure has the following fields :
n_vertices The number of vertices with specified law values
vertices An array of the vertices that have specified law values.
values An array of values. Each entry is the law value for the
vertex in the corresponding entry of 'vertices'
The following rules apply to the vertex/value pairs that may be specified
via this structure :
o Any number of vertex/value pairs may be specified.
o The vertex/value pairs are not presumed to be in any particular order
except in the case that the start and end vertices of the path are the
same. Where this is true, the first occurrence of the start/end vertex
is taken to be associated with the start value of the function, and
the second occurrence is associated with the end value.
The following points just describe two ways in which the swept body's
shape can be controlled via these twist or scale controls :
o Constant Twist or Scaling
The user can affect a constant twist or scaling of the sweep by
specifying a single vertex/value pair. The specified vertex maybe
any vertex belonging to the sweep path profile. The twist or scaling
transformation is applied to the whole sweep.
o Linear Interpolation Between Start and End
The user can affect a linear interpolated twist or scaling over the
length of the sweep path by just specifying the start and end vertices
within two vertex/value pairs. The start and end vertex/value pairs
can be specified in any order.