#ifndef  ENTITY_SDAIIFCRELSEQUENCE_H
#define  ENTITY_SDAIIFCRELSEQUENCE_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 SdaiIfcrelsequence : public SdaiIfcrelconnects {
     protected:
        SDAI_Application_instance_ptr _relatingprocess = NULL;
        SDAI_Application_instance_ptr _relatedprocess = NULL;
        SDAI_Real _timelag = 0.0;
        SdaiIfcsequenceenum_var _sequencetype;
    public: 
        SdaiIfcrelsequence();
        SdaiIfcrelsequence( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcrelsequence( SdaiIfcrelsequence & e );
        ~SdaiIfcrelsequence();
        int opcode() {
            return 174;
        }
        SdaiIfcprocess_ptr_c relatingprocess_() const;
        SdaiIfcprocess_ptr   relatingprocess_();
        void relatingprocess_( const SdaiIfcprocess_ptr x );

        SdaiIfcprocess_ptr_c relatedprocess_() const;
        SdaiIfcprocess_ptr   relatedprocess_();
        void relatedprocess_( const SdaiIfcprocess_ptr x );

        SdaiIfctimemeasure   timelag_() const;
        void timelag_( const SdaiIfctimemeasure x );

  const SdaiIfcsequenceenum_var   sequencetype_() const;
        SdaiIfcsequenceenum_var   sequencetype_();
        void sequencetype_( const SdaiIfcsequenceenum_var x );

};

inline SdaiIfcrelsequence * create_SdaiIfcrelsequence() {
    return new SdaiIfcrelsequence;
}

void init_SdaiIfcrelsequence(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcrelsequence;
    extern AttrDescriptor *a_368relatingprocess;
    extern AttrDescriptor *a_369relatedprocess;
    extern AttrDescriptor *a_370timelag;
    extern AttrDescriptor *a_371sequencetype;
}

#endif
