#ifndef  ENTITY_SDAIIFCSURFACESTYLELIGHTING_H
#define  ENTITY_SDAIIFCSURFACESTYLELIGHTING_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 SdaiIfcsurfacestylelighting : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _diffusetransmissioncolour = NULL;
        SDAI_Application_instance_ptr _diffusereflectioncolour = NULL;
        SDAI_Application_instance_ptr _transmissioncolour = NULL;
        SDAI_Application_instance_ptr _reflectancecolour = NULL;
    public: 
        SdaiIfcsurfacestylelighting();
        SdaiIfcsurfacestylelighting( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcsurfacestylelighting( SdaiIfcsurfacestylelighting & e );
        ~SdaiIfcsurfacestylelighting();
        int opcode() {
            return 590;
        }
        SdaiIfccolourrgb_ptr_c diffusetransmissioncolour_() const;
        SdaiIfccolourrgb_ptr   diffusetransmissioncolour_();
        void diffusetransmissioncolour_( const SdaiIfccolourrgb_ptr x );

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

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

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

};

inline SdaiIfcsurfacestylelighting * create_SdaiIfcsurfacestylelighting() {
    return new SdaiIfcsurfacestylelighting;
}

void init_SdaiIfcsurfacestylelighting(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcsurfacestylelighting;
    extern AttrDescriptor *a_1327diffusetransmissioncolour;
    extern AttrDescriptor *a_1328diffusereflectioncolour;
    extern AttrDescriptor *a_1329transmissioncolour;
    extern AttrDescriptor *a_1330reflectancecolour;
}

#endif
