struct PK_NABOX_sf_s { PK_AXIS2_sf_t basis_set; --- coordinate system for box PK_BOX_t box; --- box }; typedef struct PK_NABOX_sf_s PK_NABOX_sf_t; This data structure is the standard form for a non-aligned box A non-aligned box is a cuboid space defined by an origin, a pair of orthogonal axes (normalised direction vectors) and a set of x, y, z intervals. The term `non-aligned' means the box axes need not be aligned with the model space axes. The first axis is called `the reference direction' (the local X direction). The second axis is simply called `the axis'; this is the local Z direction. The local Y direction is formed from the cross product of the second and first direction vectors i.e. local_Y = local_Z CROSS local_X These form a right handed coordinate system. y | | / \ / \ (axis) z/ \x (ref_direction) The associated box is defined in this local coordinate system. Its extent is defined by x, z and z intervals