home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / RAYTRACE / RT / SURF.H < prev    next >
C/C++ Source or Header  |  1993-01-12  |  1KB  |  39 lines

  1. /*
  2.  
  3. SURF.H  Surface datatype
  4.  
  5. */
  6.  
  7. typedef struct
  8.     {
  9.     double    ka, kd, ks, kt;        /* Ambient, diffuse, specular, trans.*/
  10.     COL    *od, *os;        /* Diffuse and specular colours      */
  11.     double    phong;            /* Phong power number                */
  12.     double    rinx;            /* Refractive index of inside        */
  13.     } SURF;
  14.  
  15. #ifndef _SURF_
  16.  
  17. extern SURF *create_surf(
  18.     double ka, double kd, double ks, double kt,
  19.     COL *od, COL *os,
  20.     double phong,
  21.     double rinx
  22.     );
  23.  
  24. extern SURF *copy_surf(SURF *surf);
  25.  
  26. extern void destroy_surf(SURF *surf);
  27.  
  28. extern void trans_x_surf(SURF *surf, double t);
  29. extern void trans_y_surf(SURF *surf, double t);
  30. extern void trans_z_surf(SURF *surf, double t);
  31. extern void scale_x_surf(SURF *surf, double factor);
  32. extern void scale_y_surf(SURF *surf, double factor);
  33. extern void scale_z_surf(SURF *surf, double factor);
  34. extern void rot_x_surf(SURF *surf, double angle);
  35. extern void rot_y_surf(SURF *surf, double angle);
  36. extern void rot_z_surf(SURF *surf, double angle);
  37.  
  38. #endif
  39.