Previous: clp2d Up: ../plot79_c.html Next: clpl2


CLP3D

       SUBROUTINE  CLP3D (U1,V1,W1,MOVED1, U2,V2,W2,MOVED2, VISSEG)
 C$    (3-D Unit Cube Line Segment Clip)
 C$    The points P1=(U1,V1,W1) and P2=(U2,V2,W2) are adjusted  to
 C$    encompass only that  part of  the line  joining them  which
 C$    lies within the unit cube.  The input arguments are:
 C$
 C$    (U1,V1,W1)      Coordinates of P1
 C$    (U2,V2,W2)      Coordinates of P2
 C$
 C$    The output arguments are:
 C$
 C$    (U1,V1,W1)      Possibly-adjusted coordinates of P1
 C$    (U2,V2,W2)      Possibly-adjusted coordinates of P2
 C$    MOVED1          .TRUE. - P1 was moved
 C$                   .FALSE. - P2 unchanged
 C$    MOVED2          .TRUE. - P2 was moved
 C$                   .FALSE. - P2 unchanged
 C$    VISSEG          .TRUE. - Some portion of the line is visible
 C$                   .FALSE. - Line segment invisible
 C$
 C$    This routine is  adapted from the  general polyhedral  clip
 C$    routine, CLPPH (written by  John Halleck of the  University
 C$    of Utah  Computing Center),  for the  special case  of  3-D
 C$    curvilinear coordinates  in the  unit cube,  for which  the
 C$    inward-pointing  edge  normals  are  (1,0,0,0),  (0,1,0,0),
 C$    (-1,0,0,1), (0,-1,0,1), (0,0,1,0), and (0,0,-1,1).
 C$    (07-JAN-82)