#ifndef  ENTITY_SDAIIFCLIGHTSOURCEPOSITIONAL_H
#define  ENTITY_SDAIIFCLIGHTSOURCEPOSITIONAL_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 SdaiIfclightsourcepositional : public SdaiIfclightsource {
     protected:
        SDAI_Application_instance_ptr _position = NULL;
        SDAI_Real _radius = 0.0;
        SDAI_Real _constantattenuation = 0.0;
        SDAI_Real _distanceattenuation = 0.0;
        SDAI_Real _quadricattenuation = 0.0;
    public: 
        SdaiIfclightsourcepositional();
        SdaiIfclightsourcepositional( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfclightsourcepositional( SdaiIfclightsourcepositional & e );
        ~SdaiIfclightsourcepositional();
        int opcode() {
            return 382;
        }
        SdaiIfccartesianpoint_ptr_c position_() const;
        SdaiIfccartesianpoint_ptr   position_();
        void position_( const SdaiIfccartesianpoint_ptr x );

        SdaiIfcpositivelengthmeasure   radius_() const;
        void radius_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcreal   constantattenuation_() const;
        void constantattenuation_( const SdaiIfcreal x );

        SdaiIfcreal   distanceattenuation_() const;
        void distanceattenuation_( const SdaiIfcreal x );

        SdaiIfcreal   quadricattenuation_() const;
        void quadricattenuation_( const SdaiIfcreal x );

};

inline SdaiIfclightsourcepositional * create_SdaiIfclightsourcepositional() {
    return new SdaiIfclightsourcepositional;
}

void init_SdaiIfclightsourcepositional(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifclightsourcepositional;
    extern AttrDescriptor *a_861position;
    extern AttrDescriptor *a_862radius;
    extern AttrDescriptor *a_863constantattenuation;
    extern AttrDescriptor *a_864distanceattenuation;
    extern AttrDescriptor *a_865quadricattenuation;
}

#endif
