#ifndef  ENTITY_SDAIIFCRELCONNECTSELEMENTS_H
#define  ENTITY_SDAIIFCRELCONNECTSELEMENTS_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 SdaiIfcrelconnectselements : public SdaiIfcrelconnects {
     protected:
        SDAI_Application_instance_ptr _connectiongeometry = NULL;    //  OPTIONAL
        SDAI_Application_instance_ptr _relatingelement = NULL;
        SDAI_Application_instance_ptr _relatedelement = NULL;
    public: 
        SdaiIfcrelconnectselements();
        SdaiIfcrelconnectselements( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcrelconnectselements( SdaiIfcrelconnectselements & e );
        ~SdaiIfcrelconnectselements();
        int opcode() {
            return 86;
        }
        SdaiIfcconnectiongeometry_ptr_c connectiongeometry_() const;
        SdaiIfcconnectiongeometry_ptr   connectiongeometry_();
        void connectiongeometry_( const SdaiIfcconnectiongeometry_ptr x );

        SdaiIfcelement_ptr_c relatingelement_() const;
        SdaiIfcelement_ptr   relatingelement_();
        void relatingelement_( const SdaiIfcelement_ptr x );

        SdaiIfcelement_ptr_c relatedelement_() const;
        SdaiIfcelement_ptr   relatedelement_();
        void relatedelement_( const SdaiIfcelement_ptr x );

};

inline SdaiIfcrelconnectselements * create_SdaiIfcrelconnectselements() {
    return new SdaiIfcrelconnectselements;
}

void init_SdaiIfcrelconnectselements(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcrelconnectselements;
    extern AttrDescriptor *a_187connectiongeometry;
    extern AttrDescriptor *a_188relatingelement;
    extern AttrDescriptor *a_189relatedelement;
}

#endif
