#ifndef  ENTITY_SDAIIFCRELCONNECTSPORTS_H
#define  ENTITY_SDAIIFCRELCONNECTSPORTS_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 SdaiIfcrelconnectsports : public SdaiIfcrelconnects {
     protected:
        SDAI_Application_instance_ptr _relatingport = NULL;
        SDAI_Application_instance_ptr _relatedport = NULL;
        SDAI_Application_instance_ptr _realizingelement = NULL;    //  OPTIONAL
    public: 
        SdaiIfcrelconnectsports();
        SdaiIfcrelconnectsports( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcrelconnectsports( SdaiIfcrelconnectsports & e );
        ~SdaiIfcrelconnectsports();
        int opcode() {
            return 473;
        }
        SdaiIfcport_ptr_c relatingport_() const;
        SdaiIfcport_ptr   relatingport_();
        void relatingport_( const SdaiIfcport_ptr x );

        SdaiIfcport_ptr_c relatedport_() const;
        SdaiIfcport_ptr   relatedport_();
        void relatedport_( const SdaiIfcport_ptr x );

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

};

inline SdaiIfcrelconnectsports * create_SdaiIfcrelconnectsports() {
    return new SdaiIfcrelconnectsports;
}

void init_SdaiIfcrelconnectsports(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcrelconnectsports;
    extern AttrDescriptor *a_1062relatingport;
    extern AttrDescriptor *a_1063relatedport;
    extern AttrDescriptor *a_1064realizingelement;
}

#endif
