#ifndef  ENTITY_SDAIIFCBUILDING_H
#define  ENTITY_SDAIIFCBUILDING_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 SdaiIfcbuilding : public SdaiIfcspatialstructureelement {
     protected:
        SDAI_Real _elevationofrefheight = 0.0;    //  OPTIONAL
        SDAI_Real _elevationofterrain = 0.0;    //  OPTIONAL
        SDAI_Application_instance_ptr _buildingaddress = NULL;    //  OPTIONAL
    public: 
        SdaiIfcbuilding();
        SdaiIfcbuilding( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcbuilding( SdaiIfcbuilding & e );
        ~SdaiIfcbuilding();
        int opcode() {
            return 275;
        }
        SdaiIfclengthmeasure   elevationofrefheight_() const;
        void elevationofrefheight_( const SdaiIfclengthmeasure x );

        SdaiIfclengthmeasure   elevationofterrain_() const;
        void elevationofterrain_( const SdaiIfclengthmeasure x );

        SdaiIfcpostaladdress_ptr_c buildingaddress_() const;
        SdaiIfcpostaladdress_ptr   buildingaddress_();
        void buildingaddress_( const SdaiIfcpostaladdress_ptr x );

};

inline SdaiIfcbuilding * create_SdaiIfcbuilding() {
    return new SdaiIfcbuilding;
}

void init_SdaiIfcbuilding(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcbuilding;
    extern AttrDescriptor *a_614elevationofrefheight;
    extern AttrDescriptor *a_615elevationofterrain;
    extern AttrDescriptor *a_616buildingaddress;
}

#endif
