#ifndef  ENTITY_SDAIIFCPRESENTATIONLAYERWITHSTYLE_H
#define  ENTITY_SDAIIFCPRESENTATIONLAYERWITHSTYLE_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 SdaiIfcpresentationlayerwithstyle : public SdaiIfcpresentationlayerassignment {
     protected:
        SDAI_LOGICAL _layeron;
        SDAI_LOGICAL _layerfrozen;
        SDAI_LOGICAL _layerblocked;
        EntityAggregate_ptr _layerstyles = NULL;          //  of  ifcpresentationstyle

    public: 
        SdaiIfcpresentationlayerwithstyle();
        SdaiIfcpresentationlayerwithstyle( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcpresentationlayerwithstyle( SdaiIfcpresentationlayerwithstyle & e );
        ~SdaiIfcpresentationlayerwithstyle();
        int opcode() {
            return 529;
        }
        Logical   layeron_() const;
        void layeron_( const Logical x );

        Logical   layerfrozen_() const;
        void layerfrozen_( const Logical x );

        Logical   layerblocked_() const;
        void layerblocked_( const Logical x );

        EntityAggregate_ptr_c layerstyles_() const;
        EntityAggregate_ptr   layerstyles_();
        void layerstyles_( const EntityAggregate_ptr x );

};

inline SdaiIfcpresentationlayerwithstyle * create_SdaiIfcpresentationlayerwithstyle() {
    return new SdaiIfcpresentationlayerwithstyle;
}

void init_SdaiIfcpresentationlayerwithstyle(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcpresentationlayerwithstyle;
    extern AttrDescriptor *a_1174layeron;
    extern AttrDescriptor *a_1175layerfrozen;
    extern AttrDescriptor *a_1176layerblocked;
    extern AttrDescriptor *a_1177layerstyles;
}

#endif
