    /***************************************************************************
                              lamp.h  -  description
                                 -------------------
        begin                : Thu Dec 7 2000
        copyright            : (C) 2000 by Jan Walter
        email                : jan@blender.nl
     ***************************************************************************/

    /***************************************************************************
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 2 of the License, or     *
     *   (at your option) any later version.                                   *
     *                                                                         *
     ***************************************************************************/

    #ifndef LAMP_H
    #define LAMP_H

    #include <blender.h>

    struct PyObject;

    /**Blender lamps can be seen in the OOPS window as yellow rectangles. They are connected to an object. Compare the attributes of a lamp to the settings of the lamp buttons (F4).
      *@author Jan Walter
      */

    class Lamp : public Blender {
    public:
    	Lamp();
    	~Lamp();
      /** A Blender lamp has always a unique name. The name you give as an argument is only a proposal for the real name. Blender will check if this name is already used and rename the lamp if necessary. */
      Lamp(const char* name = "Lamp");
    private: // Private attributes
      /** All rectangles you can see in the OOPS window are instances of classes with an unique name for all instances of this class. Nevertheless the name of two instances of different classes can be the same. */
      char* name;
      /** The type of a lamp can be: "Lamp", "Spot", "Sun", or "Hemi" */
      PyObject* type;
      /** The mode indicates with a string of length 8 if a setting in the lamp buttons (F4) is on ("1") or off ("0"). The order is exactly the same as in the lamp buttons (from top downwards): "Quad", "Sphere", "Shadows", "Halo", "Layer", "Negative", "OnlyShadow", and "Square". */
      PyObject* mode;
      /** Light energy */
      PyObject* Energ;
      /** Red part of the lamp color */
      PyObject* R;
      /** Green part of the lamp color */
      PyObject* G;
      /** Blue part of the lamp color */
      PyObject* B;
      /** Influences the light attenuation */
      PyObject* Dist;
      /** Spotlight setting: Spot size (angle) */
      PyObject* SpoSi;
      /** Spotlight setting: Spot blend (falloff from full light intensity to darkness) */
      PyObject* SpoBl;
      /** Influences the light attenuation */
      PyObject* Quad1;
      /** Influences the light attenuation */
      PyObject* Quad2;
      /** The intensity of the spot halo */
      PyObject* HaInt;
      /** Clipping start value */
      PyObject* ClipSta;
      /** Clipping end value */
      PyObject* ClipEnd;
    };

    #endif