![]() |
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.