yorick banner




Global Index


Quick Reference

functions in pl3d.i - s


             view= save3()  
     Save the current 3D viewing transformation and lighting.  
interpreted function, defined at i/pl3d.i   line 233  
SEE ALSO: restore3,   rot3,   mov3,   aim3,   light3  

             set3_object, drawing_function, _lst(arg1,arg2,...)  
     set up to trigger a call to draw3, adding a call to the  
     3D display list of the form:  
        DRAWING_FUNCTION, _lst(ARG1, ARG2, ...)  
     When draw3 calls DRAWING_FUNCTION, the external variable _draw3  
     will be non-zero, so DRAWING_FUNCTION can be written like this:  
     func drawing_function(arg1,arg2,...)  
       require, "pl3d.i";  
       if (_draw3) {  
         list= arg1;  
         arg1= _nxt(list);  
         arg2= _nxt(list);  
       set3_object, drawing_function, _lst(arg1,arg2,...);  
interpreted function, defined at i/pl3d.i   line 630  
SEE ALSO: get3_xy,   get3_light,   sort3d  

             setz3, zc  
     Set the camera position to z=ZC (x=y=0) in the viewer's coordinate  
     system.  If ZC is nil, set the camera to infinity (default).  
interpreted function, defined at i/pl3d.i   line 113  
SEE ALSO: rot3,   orient3,   undo3,   save3,   restore3,  

             sort3d(z, npolys, &list, &vlist)  
     given Z and NPOLYS, with numberof(Z)==sum(npolys), return  
     LIST and VLIST such that Z(VLIST) and NPOLYS(LIST) are  
     sorted from smallest average Z to largest average Z, where  
     the averages are taken over the clusters of length NPOLYS.  
     Within each cluster (polygon), the cyclic order of Z(VLIST)  
     remains unchanged, but the absolute order may change.  
     This sorting order produces correct or nearly correct order  
     for a plfp command to make a plot involving hidden or partially  
     hidden surfaces in three dimensions.  It works best when the  
     polys form a set of disjoint closed, convex surfaces, and when  
     the surface normal changes only very little between neighboring  
     polys.  (If the latter condition holds, then even if sort3d  
     mis-orders two neighboring polys, their colors will be very  
     nearly the same, and the mistake won't be noticeable.)  A truly  
     correct 3D sorting routine is impossible, since there may be no  
     rendering order which produces correct surface hiding (some polys  
     may need to be split into pieces in order to do that).  There  
     are more nearly correct algorithms than this, but they are much  
interpreted function, defined at i/pl3d.i   line 880  
SEE ALSO: get3_xy  

          or spin3, nframes  
          or spin3, nframes, axis  
     Spin the current 3D display list about AXIS over NFRAMES.  Keywords  
     tlimit= the total time allowed for the movie in seconds (default 60),  
     dtmin= the minimum allowed interframe time in seconds (default 0.0),  
     bracket_time= (as for movie function in movie.i)  
     The default AXIS is [-1,1,0] and the default NFRAMES is 30.  
interpreted function, defined at i/pl3d.i   line 945  
SEE ALSO: rot3