home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved
- // FILE: LIGHT.HPP
- //
- // DESCRIPTION
- // This file provides the function prototypes for the lightClass
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 5/16/95 Created
- //
- //**********************************************************************
- #ifndef _LIGHT_HPP
- #define _LIGHT_HPP
-
- #include "position.hpp"
- #include "vector.hpp"
- #include "shapes.hpp"
-
- class lightPrivateClass;
-
- class lightClass {
-
- friend class universePrivateClass;
-
- private:
-
- lightPrivateClass *data;
-
- public:
-
- coneClass *spotGeo;
- sphereClass *omniGeo;
-
- void setState(int flag);
- int getState();
- void setAmbient(F4 vals);
- void setAmbient(float rr, float gg, float bb, float aa);
- void getAmbient(F4 vals);
- void setDiffuse(F4 vals);
- void setDiffuse(float rr, float gg, float bb, float aa);
- void getDiffuse(F4 vals);
- void setSpecular(F4 vals);
- void setSpecular(float rr, float gg, float bb, float aa);
- void getSpecular(F4 vals);
- void setPosition(F3 pos);
- void setPosition(positionClass pos);
- void getPosition(F3 pos);
- void getPosition(positionClass *pos);
- void setDirection(F3 dir);
- void setDirection(vectorClass dir);
- void getDirection(F3 dir);
- void getDirection(vectorClass *dir);
-
- void setSpot(int flag);
- int getSpot();
- void setCutoff(float val);
- float getCutoff();
- void setExponent(float val);
- void setAttenuation(float constantAtt=1.0,
- float linearAtt=0.0,
- float quadraticAtt=0.0);
- void getAttenuation(F3 vals);
-
- lightClass(int which);
- ~lightClass();
-
- };
-
- #endif
-