Equivalent PK functions: |
PK_BODY_create_sheet_polygon PK_BODY_create_solid_prism |
CRPRSO ( centre, axis, radius, nsides, height, prism, ifail ) ============================================================= Create prismatic solid Receives: KI_vec_position centre --- centre of prism KI_vec_axis axis --- axis of prism KI_dbl_radius *radius --- radius of enclosing cylinder int *nsides --- number of sides <KI_dbl_distance> *height --- height of prism Returns: KI_tag_body *prism --- prism KI_cod_error *ifail --- failure indicator Specific errors: KI_lt_3_sides Number of sides is less than 3 Description: If 'height' is positive, a body is created that is a right regular prism of 'nsides' sides. One of the end faces (regular polygons of 'nsides' sides) is centred at 'centre', and the prism extends a distance 'height' in the direction of 'axis'. The prism is inscribed in a cylinder of radius 'radius'. If 'height' is zero, a sheet body is created whose face is a regular polygon of 'nsides' sides. The polygon is centred at 'centre', and the normal to the its plane face is parallel to 'axis'. Its circumscribing circle has radius 'radius'. In either case, if 'axis' is parallel to the Z-axis (0,0,1) then one side (face or edge) will be perpendicular to the Y-axis, on the positive-Y side of 'centre'. If 'axis' is not parallel to the Z-axis, the orientation of the body about 'axis' is undefined.