![]() |
OUTSUR |
Equivalent PK functions: |
PK_CONE_ask PK_CYL_ask PK_OFFSET_ask PK_PLANE_ask PK_SPHERE_ask PK_TORUS_ask |
OUTSUR ( surfac, sftype, vec1, vec2, d1, d2, sense, ifail ) =========================================================== Output surface. Can be called from the GO. Receives: KI_tag_surface *surfac --- surface to be output Returns: KI_cod_tysu *sftype --- surface type KI_vec vec1 --- first vector defining surface KI_vec vec2 --- second vector defining surface double *d1 --- first double defining surface double *d2 --- second double defining surface KI_cod_logical *sense --- surface sense. see below KI_cod_error *ifail --- failure code Specific errors: KI_wrong_sub_type not a surface supported by this routine Description: The 'sense' and 'sftype' arguments are returned for all surface types. Further information is returned according to the value of 'sftype': Type Arg Definition normal if sense == KI_true ============================================================================= Plane (TYSUPL) 'vec1' position in plane same as 'vec2' 'vec2' normal direction Cylinder (TYSUCY) 'vec1' position on axis away from axis 'vec2' axis direction 'd1' radius Cone (TYSUCO) 'vec1' position on axis away from axis 'vec2' axis direction 'd1' radius of cone at 'vec1' 'd2' half angle (in radians) Sphere (TYSUSP) 'vec1' centre position away from centre 'd1' radius Torus (TYSUTO) 'vec1' centre position away from circle described 'vec2' axis direction by major axis 'd1' major radius 'd2' minor radius Blend (TYSUBL) 'd1' blend radius For all other surface types only the type-code is returned. Use this code to select the appropriate output routine. If sense == KI_false then the surface normal is opposite to the normal described for sense == KI_true. Where no information is returned, the relevant argument is set to zero.