 |
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'.