#ifndef  ENTITY_SDAIIFCPROPERTYBOUNDEDVALUE_H
#define  ENTITY_SDAIIFCPROPERTYBOUNDEDVALUE_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 SdaiIfcpropertyboundedvalue : public SdaiIfcsimpleproperty {
     protected:
        SdaiIfcvalue _upperboundvalue;    //  OPTIONAL
        SdaiIfcvalue _lowerboundvalue;    //  OPTIONAL
        SdaiIfcunit _unit;    //  OPTIONAL
        SdaiIfcvalue _setpointvalue;    //  OPTIONAL
    public: 
        SdaiIfcpropertyboundedvalue();
        SdaiIfcpropertyboundedvalue( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcpropertyboundedvalue( SdaiIfcpropertyboundedvalue & e );
        ~SdaiIfcpropertyboundedvalue();
        int opcode() {
            return 321;
        }
        SdaiIfcvalue_ptr_c upperboundvalue_() const;
        SdaiIfcvalue_ptr   upperboundvalue_();
        void upperboundvalue_( const SdaiIfcvalue_ptr x );

        SdaiIfcvalue_ptr_c lowerboundvalue_() const;
        SdaiIfcvalue_ptr   lowerboundvalue_();
        void lowerboundvalue_( const SdaiIfcvalue_ptr x );

        SdaiIfcunit_ptr_c unit_() const;
        SdaiIfcunit_ptr   unit_();
        void unit_( const SdaiIfcunit_ptr x );

        SdaiIfcvalue_ptr_c setpointvalue_() const;
        SdaiIfcvalue_ptr   setpointvalue_();
        void setpointvalue_( const SdaiIfcvalue_ptr x );

};

inline SdaiIfcpropertyboundedvalue * create_SdaiIfcpropertyboundedvalue() {
    return new SdaiIfcpropertyboundedvalue;
}

void init_SdaiIfcpropertyboundedvalue(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcpropertyboundedvalue;
    extern AttrDescriptor *a_703upperboundvalue;
    extern AttrDescriptor *a_704lowerboundvalue;
    extern AttrDescriptor *a_705unit;
    extern AttrDescriptor *a_706setpointvalue;
}

#endif
