struct PK_PLANE_sf_s { PK_AXIS2_sf_t basis_set; --- a point, reference direction and a normal }; typedef struct PK_PLANE_sf_s PK_PLANE_sf_t; See documentation for PK_AXIS2_sf_t. The parameterisation of a plane is as follows: P = basis_set.location x = basis_set.ref_direction y = basis_set.axis X basis_set.ref_direction ( cross product ) S( u, v) = P + ux + vy