#ifndef  ENTITY_SDAIIFCLIGHTDISTRIBUTIONDATA_H
#define  ENTITY_SDAIIFCLIGHTDISTRIBUTIONDATA_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 SdaiIfclightdistributiondata : public SDAI_Application_instance {
    protected:
        SDAI_Real _mainplaneangle = 0.0;
        RealAggregate_ptr _secondaryplaneangle = NULL;          //  of  ifcplaneanglemeasure

        RealAggregate_ptr _luminousintensity = NULL;          //  of  ifcluminousintensitydistributionmeasure

    public: 
        SdaiIfclightdistributiondata();
        SdaiIfclightdistributiondata( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfclightdistributiondata( SdaiIfclightdistributiondata & e );
        ~SdaiIfclightdistributiondata();
        int opcode() {
            return 97;
        }
        SdaiIfcplaneanglemeasure   mainplaneangle_() const;
        void mainplaneangle_( const SdaiIfcplaneanglemeasure x );

        RealAggregate_ptr_c secondaryplaneangle_() const;
        RealAggregate_ptr   secondaryplaneangle_();
        void secondaryplaneangle_( const RealAggregate_ptr x );

        RealAggregate_ptr_c luminousintensity_() const;
        RealAggregate_ptr   luminousintensity_();
        void luminousintensity_( const RealAggregate_ptr x );

};

inline SdaiIfclightdistributiondata * create_SdaiIfclightdistributiondata() {
    return new SdaiIfclightdistributiondata;
}

void init_SdaiIfclightdistributiondata(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifclightdistributiondata;
    extern AttrDescriptor *a_205mainplaneangle;
    extern AttrDescriptor *a_206secondaryplaneangle;
    extern AttrDescriptor *a_207luminousintensity;
}

#endif
