#ifndef  ENTITY_SDAIIFCSTAIRFLIGHT_H
#define  ENTITY_SDAIIFCSTAIRFLIGHT_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 SdaiIfcstairflight : public SdaiIfcbuildingelement {
     protected:
        SDAI_Integer _numberofriser = 0;    //  OPTIONAL
        SDAI_Integer _numberoftreads = 0;    //  OPTIONAL
        SDAI_Real _riserheight = 0.0;    //  OPTIONAL
        SDAI_Real _treadlength = 0.0;    //  OPTIONAL
        SdaiIfcstairflighttypeenum_var _predefinedtype;    //  OPTIONAL
    public: 
        SdaiIfcstairflight();
        SdaiIfcstairflight( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcstairflight( SdaiIfcstairflight & e );
        ~SdaiIfcstairflight();
        int opcode() {
            return 110;
        }
        SDAI_Integer   numberofriser_() const;
        void numberofriser_( const SDAI_Integer x );

        SDAI_Integer   numberoftreads_() const;
        void numberoftreads_( const SDAI_Integer x );

        SdaiIfcpositivelengthmeasure   riserheight_() const;
        void riserheight_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   treadlength_() const;
        void treadlength_( const SdaiIfcpositivelengthmeasure x );

  const SdaiIfcstairflighttypeenum_var   predefinedtype_() const;
        SdaiIfcstairflighttypeenum_var   predefinedtype_();
        void predefinedtype_( const SdaiIfcstairflighttypeenum_var x );

};

inline SdaiIfcstairflight * create_SdaiIfcstairflight() {
    return new SdaiIfcstairflight;
}

void init_SdaiIfcstairflight(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcstairflight;
    extern AttrDescriptor *a_225numberofriser;
    extern AttrDescriptor *a_226numberoftreads;
    extern AttrDescriptor *a_227riserheight;
    extern AttrDescriptor *a_228treadlength;
    extern AttrDescriptor *a_229predefinedtype;
}

#endif
