#ifndef  ENTITY_SDAIIFCSTRUCTURALSURFACEMEMBER_H
#define  ENTITY_SDAIIFCSTRUCTURALSURFACEMEMBER_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 SdaiIfcstructuralsurfacemember : public SdaiIfcstructuralmember {
     protected:
        SdaiIfcstructuralsurfacemembertypeenum_var _predefinedtype;
        SDAI_Real _thickness = 0.0;    //  OPTIONAL
    public: 
        SdaiIfcstructuralsurfacemember();
        SdaiIfcstructuralsurfacemember( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcstructuralsurfacemember( SdaiIfcstructuralsurfacemember & e );
        ~SdaiIfcstructuralsurfacemember();
        int opcode() {
            return 306;
        }
  const SdaiIfcstructuralsurfacemembertypeenum_var   predefinedtype_() const;
        SdaiIfcstructuralsurfacemembertypeenum_var   predefinedtype_();
        void predefinedtype_( const SdaiIfcstructuralsurfacemembertypeenum_var x );

        SdaiIfcpositivelengthmeasure   thickness_() const;
        void thickness_( const SdaiIfcpositivelengthmeasure x );

};

inline SdaiIfcstructuralsurfacemember * create_SdaiIfcstructuralsurfacemember() {
    return new SdaiIfcstructuralsurfacemember;
}

void init_SdaiIfcstructuralsurfacemember(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcstructuralsurfacemember;
    extern AttrDescriptor *a_669predefinedtype;
    extern AttrDescriptor *a_670thickness;
}

#endif
