#ifndef  ENTITY_SDAIIFCLIGHTSOURCESPOT_H
#define  ENTITY_SDAIIFCLIGHTSOURCESPOT_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 SdaiIfclightsourcespot : public SdaiIfclightsourcepositional {
     protected:
        SDAI_Application_instance_ptr _orientation = NULL;
        SDAI_Real _concentrationexponent = 0.0;    //  OPTIONAL
        SDAI_Real _spreadangle = 0.0;
        SDAI_Real _beamwidthangle = 0.0;
    public: 
        SdaiIfclightsourcespot();
        SdaiIfclightsourcespot( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfclightsourcespot( SdaiIfclightsourcespot & e );
        ~SdaiIfclightsourcespot();
        int opcode() {
            return 324;
        }
        SdaiIfcdirection_ptr_c orientation_() const;
        SdaiIfcdirection_ptr   orientation_();
        void orientation_( const SdaiIfcdirection_ptr x );

        SdaiIfcreal   concentrationexponent_() const;
        void concentrationexponent_( const SdaiIfcreal x );

        SdaiIfcpositiveplaneanglemeasure   spreadangle_() const;
        void spreadangle_( const SdaiIfcpositiveplaneanglemeasure x );

        SdaiIfcpositiveplaneanglemeasure   beamwidthangle_() const;
        void beamwidthangle_( const SdaiIfcpositiveplaneanglemeasure x );

};

inline SdaiIfclightsourcespot * create_SdaiIfclightsourcespot() {
    return new SdaiIfclightsourcespot;
}

void init_SdaiIfclightsourcespot(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifclightsourcespot;
    extern AttrDescriptor *a_736orientation;
    extern AttrDescriptor *a_737concentrationexponent;
    extern AttrDescriptor *a_738spreadangle;
    extern AttrDescriptor *a_739beamwidthangle;
}

#endif
