PK_BODY_create_solid_torus   

PK_ERROR_code_t      PK_BODY_create_solid_torus
(
--- received arguments ---
double               major_radius, --- torus major radius
double               minor_radius, --- torus minor radius (> 0)
const PK_AXIS2_sf_t *basis_set,    --- position and orientation (may be NULL)

--- returned arguments ---
PK_BODY_t     *const body          --- solid body returned
)


This function creates a solid torus.


Specific Errors:
    PK_ERROR_R1_R2_mismatch         'major_radius' = 'minor_radius', or
                                    'major_radius' + 'minor_radius' <= 0
    PK_ERROR_distance_le_0          'minor_radius' <= zero, or
                                    'major_radius' = zero


In its local coordinate system, this function creates a solid torus of the
given 'major_radius' and 'minor_radius' centred at the origin, and whose spine
lies in the xy plane. If 'minor_radius' is larger in magnitude than
'major_radius' then an apple torus or lemon torus is created (depending
upon whether 'major_radius' is positive or negative respectively.

'basis_set' positions and orientates the local coordinate system in the world
coordinate system.  If it is given as NULL, then the local and world
coordinate systems are the same.

The basis_set in the standard form of the created TORUS surface inherits the
axis and ref_direction from the given 'basis_set'.