home *** CD-ROM | disk | FTP | other *** search
/ VRML Tools for 3D Cyberspace / VRML_Tools_For_3D_Cyberspace.iso / amber / include / light.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-01  |  1.7 KB  |  74 lines

  1. //**********************************************************************
  2. //  DIVE Laboratories, Inc.
  3. //  Copyright(c) 1995
  4. //  All rights reserved
  5. //  FILE:   LIGHT.HPP
  6. //
  7. //  DESCRIPTION
  8. //  This file provides the function prototypes for the lightClass
  9. //
  10. //  Author: M. Doucet
  11. //
  12. //  Modification History:
  13. //  5/16/95    Created
  14. //
  15. //**********************************************************************
  16. #ifndef _LIGHT_HPP
  17. #define _LIGHT_HPP
  18.  
  19. #include "position.hpp"
  20. #include "vector.hpp"
  21. #include "shapes.hpp"
  22.  
  23. class lightPrivateClass;
  24.  
  25. class lightClass {
  26.  
  27.      friend class universePrivateClass;
  28.  
  29. private:
  30.     
  31.     lightPrivateClass *data;
  32.  
  33. public:
  34.  
  35.     coneClass *spotGeo;
  36.     sphereClass *omniGeo;
  37.  
  38.     void setState(int flag);
  39.     int  getState();
  40.     void setAmbient(F4 vals);
  41.     void setAmbient(float rr, float gg, float bb, float aa);
  42.     void getAmbient(F4 vals);
  43.     void setDiffuse(F4 vals);
  44.     void setDiffuse(float rr, float gg, float bb, float aa);
  45.     void getDiffuse(F4 vals);
  46.     void setSpecular(F4 vals);
  47.     void setSpecular(float rr, float gg, float bb, float aa);
  48.     void getSpecular(F4 vals);
  49.     void setPosition(F3 pos);
  50.     void setPosition(positionClass pos);
  51.     void getPosition(F3 pos);
  52.     void getPosition(positionClass *pos);
  53.     void setDirection(F3 dir);
  54.     void setDirection(vectorClass dir);
  55.     void getDirection(F3 dir);
  56.     void getDirection(vectorClass *dir);
  57.  
  58.     void  setSpot(int flag);
  59.     int   getSpot();
  60.     void  setCutoff(float val);
  61.     float getCutoff();
  62.     void  setExponent(float val);
  63.     void  setAttenuation(float constantAtt=1.0,
  64.                          float linearAtt=0.0,
  65.                          float quadraticAtt=0.0);
  66.     void  getAttenuation(F3 vals);
  67.  
  68.     lightClass(int which);
  69.     ~lightClass();
  70.  
  71. };
  72.  
  73. #endif
  74.