#ifndef  ENTITY_SDAIIFCCLASSIFICATIONITEM_H
#define  ENTITY_SDAIIFCCLASSIFICATIONITEM_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 SdaiIfcclassificationitem : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _notation = NULL;
        SDAI_Application_instance_ptr _itemof = NULL;    //  OPTIONAL
        SDAI_String _title;
    public: 
        SdaiIfcclassificationitem();
        SdaiIfcclassificationitem( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcclassificationitem( SdaiIfcclassificationitem & e );
        ~SdaiIfcclassificationitem();
        int opcode() {
            return 568;
        }
        SdaiIfcclassificationnotationfacet_ptr_c notation_() const;
        SdaiIfcclassificationnotationfacet_ptr   notation_();
        void notation_( const SdaiIfcclassificationnotationfacet_ptr x );

        SdaiIfcclassification_ptr_c itemof_() const;
        SdaiIfcclassification_ptr   itemof_();
        void itemof_( const SdaiIfcclassification_ptr x );

  const SdaiIfclabel   title_() const;
        SdaiIfclabel   title_();
        void title_( const SdaiIfclabel x );

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

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

};

inline SdaiIfcclassificationitem * create_SdaiIfcclassificationitem() {
    return new SdaiIfcclassificationitem;
}

void init_SdaiIfcclassificationitem(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcclassificationitem;
    extern AttrDescriptor *a_1272notation;
    extern AttrDescriptor *a_1273itemof;
    extern AttrDescriptor *a_1274title;
    extern Inverse_attribute *a_1275Iisclassifieditemin;
    extern Inverse_attribute *a_1276Iisclassifyingitemin;
}

#endif
