#ifndef  ENTITY_SDAIIFCLIGHTSOURCE_H
#define  ENTITY_SDAIIFCLIGHTSOURCE_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiIfclightsource : public SdaiIfcgeometricrepresentationitem {
     protected:
        SDAI_String _name;    //  OPTIONAL
        SDAI_Application_instance_ptr _lightcolour = NULL;
        SDAI_Real _ambientintensity = 0.0;    //  OPTIONAL
        SDAI_Real _intensity = 0.0;    //  OPTIONAL
    public: 
        SdaiIfclightsource();
        SdaiIfclightsource( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfclightsource( SdaiIfclightsource & e );
        ~SdaiIfclightsource();
        int opcode() {
            return 369;
        }
  const SdaiIfclabel   name_() const;
        SdaiIfclabel   name_();
        void name_( const SdaiIfclabel x );

        SdaiIfccolourrgb_ptr_c lightcolour_() const;
        SdaiIfccolourrgb_ptr   lightcolour_();
        void lightcolour_( const SdaiIfccolourrgb_ptr x );

        SdaiIfcnormalisedratiomeasure   ambientintensity_() const;
        void ambientintensity_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcnormalisedratiomeasure   intensity_() const;
        void intensity_( const SdaiIfcnormalisedratiomeasure x );

};

inline SdaiIfclightsource * create_SdaiIfclightsource() {
    return new SdaiIfclightsource;
}

void init_SdaiIfclightsource(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifclightsource;
    extern AttrDescriptor *a_817name;
    extern AttrDescriptor *a_818lightcolour;
    extern AttrDescriptor *a_819ambientintensity;
    extern AttrDescriptor *a_820intensity;
}

#endif
