#ifndef  ENTITY_SDAIIFCDOORPANELPROPERTIES_H
#define  ENTITY_SDAIIFCDOORPANELPROPERTIES_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 SdaiIfcdoorpanelproperties : public SdaiIfcpredefinedpropertyset {
     protected:
        SDAI_Real _paneldepth = 0.0;    //  OPTIONAL
        SdaiIfcdoorpaneloperationenum_var _paneloperation;
        SDAI_Real _panelwidth = 0.0;    //  OPTIONAL
        SdaiIfcdoorpanelpositionenum_var _panelposition;
        SDAI_Application_instance_ptr _shapeaspectstyle = NULL;    //  OPTIONAL
    public: 
        SdaiIfcdoorpanelproperties();
        SdaiIfcdoorpanelproperties( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcdoorpanelproperties( SdaiIfcdoorpanelproperties & e );
        ~SdaiIfcdoorpanelproperties();
        int opcode() {
            return 151;
        }
        SdaiIfcpositivelengthmeasure   paneldepth_() const;
        void paneldepth_( const SdaiIfcpositivelengthmeasure x );

  const SdaiIfcdoorpaneloperationenum_var   paneloperation_() const;
        SdaiIfcdoorpaneloperationenum_var   paneloperation_();
        void paneloperation_( const SdaiIfcdoorpaneloperationenum_var x );

        SdaiIfcnormalisedratiomeasure   panelwidth_() const;
        void panelwidth_( const SdaiIfcnormalisedratiomeasure x );

  const SdaiIfcdoorpanelpositionenum_var   panelposition_() const;
        SdaiIfcdoorpanelpositionenum_var   panelposition_();
        void panelposition_( const SdaiIfcdoorpanelpositionenum_var x );

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

};

inline SdaiIfcdoorpanelproperties * create_SdaiIfcdoorpanelproperties() {
    return new SdaiIfcdoorpanelproperties;
}

void init_SdaiIfcdoorpanelproperties(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcdoorpanelproperties;
    extern AttrDescriptor *a_321paneldepth;
    extern AttrDescriptor *a_322paneloperation;
    extern AttrDescriptor *a_323panelwidth;
    extern AttrDescriptor *a_324panelposition;
    extern AttrDescriptor *a_325shapeaspectstyle;
}

#endif
