#ifndef  ENTITY_SDAIIFCPERMEABLECOVERINGPROPERTIES_H
#define  ENTITY_SDAIIFCPERMEABLECOVERINGPROPERTIES_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 SdaiIfcpermeablecoveringproperties : public SdaiIfcpropertysetdefinition {
     protected:
        SdaiIfcpermeablecoveringoperationenum_var _operationtype;
        SdaiIfcwindowpanelpositionenum_var _panelposition;
        SDAI_Real _framedepth = 0.0;    //  OPTIONAL
        SDAI_Real _framethickness = 0.0;    //  OPTIONAL
        SDAI_Application_instance_ptr _shapeaspectstyle = NULL;    //  OPTIONAL
    public: 
        SdaiIfcpermeablecoveringproperties();
        SdaiIfcpermeablecoveringproperties( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcpermeablecoveringproperties( SdaiIfcpermeablecoveringproperties & e );
        ~SdaiIfcpermeablecoveringproperties();
        int opcode() {
            return 232;
        }
  const SdaiIfcpermeablecoveringoperationenum_var   operationtype_() const;
        SdaiIfcpermeablecoveringoperationenum_var   operationtype_();
        void operationtype_( const SdaiIfcpermeablecoveringoperationenum_var x );

  const SdaiIfcwindowpanelpositionenum_var   panelposition_() const;
        SdaiIfcwindowpanelpositionenum_var   panelposition_();
        void panelposition_( const SdaiIfcwindowpanelpositionenum_var x );

        SdaiIfcpositivelengthmeasure   framedepth_() const;
        void framedepth_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   framethickness_() const;
        void framethickness_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcshapeaspect_ptr_c shapeaspectstyle_() const;
        SdaiIfcshapeaspect_ptr   shapeaspectstyle_();
        void shapeaspectstyle_( const SdaiIfcshapeaspect_ptr x );

};

inline SdaiIfcpermeablecoveringproperties * create_SdaiIfcpermeablecoveringproperties() {
    return new SdaiIfcpermeablecoveringproperties;
}

void init_SdaiIfcpermeablecoveringproperties(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcpermeablecoveringproperties;
    extern AttrDescriptor *a_525operationtype;
    extern AttrDescriptor *a_526panelposition;
    extern AttrDescriptor *a_527framedepth;
    extern AttrDescriptor *a_528framethickness;
    extern AttrDescriptor *a_529shapeaspectstyle;
}

#endif
