PK_pattern_rectilinear_o_t   

struct PK_pattern_rectilinear_o_s
    {
    int             o_t_version;    --- version number of structure
    PK_VECTOR_t     origin;         --- origin of pattern (0, 0, 0)
    PK_VECTOR1_t    direction1;     --- first direction (1, 0, 0)
    PK_VECTOR1_t    direction2;     --- second direction (0, 1, 0)
    PK_VECTOR1_t    direction3;     --- third direction (0, 0, 1)
    double          length1;        --- length in the first direction (0)
    double          length2;        --- length in the second direction (0)
    double          length3;        --- length in the third direction (0)
    };
typedef struct PK_pattern_rectilinear_o_s PK_pattern_rectilinear_o_t;




This structure contains information defining a rectilinear pattern. A
transform will be applied to ensure the minimum corner of the 'skewbox' of
the 'cell' will be mapped to the origin of the rectilinear pattern.


Specific Errors:
PK_ERROR_vectors_coplanar         'direction1', 'direction2', and 'direction3'
                                  are either co-planar or co-linear
                                  (MILD)

PK_ERROR_basis_not_right_handed   'direction1', 'direction2', and 'direction3'
                                  don't form a right-handed triplet
                                  (MILD)

PK_ERROR_distance_le_0            'length1', 'length2', or 'length3' is
                                  zero or negative
                                  (MILD)


Used in:

PK_pattern_form_t


Description of fields:



'origin'          Origin of pattern


'direction1'      First direction, corresponding to the 'i_axis' direction of
                  the 'skewbox' within the 'cell'


'direction2'      Second direction, corresponding to the 'j_axis' direction of
                  the 'skewbox' within the 'cell'


'direction3'      Third direction, corresponding to the 'k_axis' direction of
                  the 'skewbox' within the 'cell'


'length1'         Length between adjacent repetitions in first direction


'length2'         Length between adjacent repetitions in second direction


'length3'         Length between adjacent repetitions in third direction

Note: the three directions need not be orthogonal.

Note: in order to restrict the pattern to fewer than three dimensions, the
corresponding repetitions in the 'bound' structure should be set to [0, 0].