struct PK_CIRCLE_sf_s
{
PK_AXIS2_sf_t basis_set; --- a centre, a ref_direction and an axis
double radius; --- the radius of the circle(>0)
};
typedef struct PK_CIRCLE_sf_s PK_CIRCLE_sf_t;
Specific Errors:
PK_ERROR_radius_le_0 radius is less than or equal to zero
The parameterisation of the circle is as follows:
C = basis_set.location
x = basis_set.ref_direction
y = basis_set.axis X basis_set.ref_direction ( cross product )
z = basis_set.axis
R = radius
P( t ) = C + R( ( cos t )x + ( sin t )y ) where ( 0 <= t < 2PI )
Radius must be larger than zero.