#ifndef  ENTITY_SDAIIFCINVENTORY_H
#define  ENTITY_SDAIIFCINVENTORY_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 SdaiIfcinventory : public SdaiIfcgroup {
     protected:
        SdaiIfcinventorytypeenum_var _predefinedtype;    //  OPTIONAL
        SdaiIfcactorselect _jurisdiction;    //  OPTIONAL
        EntityAggregate_ptr _responsiblepersons = NULL;    //  OPTIONAL          //  of  ifcperson

        SDAI_String _lastupdatedate;    //  OPTIONAL
        SDAI_Application_instance_ptr _currentvalue = NULL;    //  OPTIONAL
        SDAI_Application_instance_ptr _originalvalue = NULL;    //  OPTIONAL
    public: 
        SdaiIfcinventory();
        SdaiIfcinventory( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcinventory( SdaiIfcinventory & e );
        ~SdaiIfcinventory();
        int opcode() {
            return 214;
        }
  const SdaiIfcinventorytypeenum_var   predefinedtype_() const;
        SdaiIfcinventorytypeenum_var   predefinedtype_();
        void predefinedtype_( const SdaiIfcinventorytypeenum_var x );

        SdaiIfcactorselect_ptr_c jurisdiction_() const;
        SdaiIfcactorselect_ptr   jurisdiction_();
        void jurisdiction_( const SdaiIfcactorselect_ptr x );

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

  const SdaiIfcdate   lastupdatedate_() const;
        SdaiIfcdate   lastupdatedate_();
        void lastupdatedate_( const SdaiIfcdate x );

        SdaiIfccostvalue_ptr_c currentvalue_() const;
        SdaiIfccostvalue_ptr   currentvalue_();
        void currentvalue_( const SdaiIfccostvalue_ptr x );

        SdaiIfccostvalue_ptr_c originalvalue_() const;
        SdaiIfccostvalue_ptr   originalvalue_();
        void originalvalue_( const SdaiIfccostvalue_ptr x );

};

inline SdaiIfcinventory * create_SdaiIfcinventory() {
    return new SdaiIfcinventory;
}

void init_SdaiIfcinventory(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcinventory;
    extern AttrDescriptor *a_465predefinedtype;
    extern AttrDescriptor *a_466jurisdiction;
    extern AttrDescriptor *a_467responsiblepersons;
    extern AttrDescriptor *a_468lastupdatedate;
    extern AttrDescriptor *a_469currentvalue;
    extern AttrDescriptor *a_470originalvalue;
}

#endif
