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.