#ifndef  ENTITY_SDAIIFCSOUNDVALUE_H
#define  ENTITY_SDAIIFCSOUNDVALUE_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 SdaiIfcsoundvalue : public SdaiIfcpropertysetdefinition {
     protected:
        SDAI_Application_instance_ptr _soundleveltimeseries = NULL;    //  OPTIONAL
        SDAI_Real _frequency = 0.0;
        SdaiIfcderivedmeasurevalue _soundlevelsinglevalue;    //  OPTIONAL
    public: 
        SdaiIfcsoundvalue();
        SdaiIfcsoundvalue( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcsoundvalue( SdaiIfcsoundvalue & e );
        ~SdaiIfcsoundvalue();
        int opcode() {
            return 603;
        }
        SdaiIfctimeseries_ptr_c soundleveltimeseries_() const;
        SdaiIfctimeseries_ptr   soundleveltimeseries_();
        void soundleveltimeseries_( const SdaiIfctimeseries_ptr x );

        SdaiIfcfrequencymeasure   frequency_() const;
        void frequency_( const SdaiIfcfrequencymeasure x );

        SdaiIfcderivedmeasurevalue_ptr_c soundlevelsinglevalue_() const;
        SdaiIfcderivedmeasurevalue_ptr   soundlevelsinglevalue_();
        void soundlevelsinglevalue_( const SdaiIfcderivedmeasurevalue_ptr x );

};

inline SdaiIfcsoundvalue * create_SdaiIfcsoundvalue() {
    return new SdaiIfcsoundvalue;
}

void init_SdaiIfcsoundvalue(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcsoundvalue;
    extern AttrDescriptor *a_1356soundleveltimeseries;
    extern AttrDescriptor *a_1357frequency;
    extern AttrDescriptor *a_1358soundlevelsinglevalue;
}

#endif
