PK_BODY_create_solid_cone   

PK_ERROR_code_t      PK_BODY_create_solid_cone
(
--- received arguments ---
double               radius,    --- cone radius (may be 0)
double               height,    --- cone height (>0)
double               semi_angle,--- semi-vertex angle (>0, <Pi/2)
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 cone.


Specific Errors:
    PK_ERROR_distance_le_0          'height' <= zero
    PK_ERROR_bad_angle              'semi_angle' <= 0 or >= PI/2


In its local coordinate system, this function creates a solid cone whose base
of the given 'radius' is centred at the origin and lies in the xy plane,
and which extends to the given 'height' along the z axis, the radius of the
cone increasing with height by the tangent of the 'semi_angle'.

The special case of 'radius' == 0 creates a cone with its vertex at the local
origin.

'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 forms of the created CONE surface and CIRCLE
curves inherits the ref_direction from the given 'basis_set'.