 |
PK_BODY_sweep_law_discrete_t |
|
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.
Used in:
PK_BODY_sweep_law_t
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.
o When sweeping with more than one profile, the vertices supplied should, at
the least, include every vertex supplied in the 'path_vertices' array.
Therefore, the law value at each profile will be the value that is paired
with the profile's corresponding path vertex.
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 may be any vertex
belonging to the sweep path profile. The twist or scaling transformation is
applied to the whole sweep. This method can only be used when sweeping with
a single profile.
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.