#ifndef  ENTITY_SDAIIFCRELINTERACTIONREQUIREMENTS_H
#define  ENTITY_SDAIIFCRELINTERACTIONREQUIREMENTS_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 SdaiIfcrelinteractionrequirements : public SdaiIfcrelconnects {
     protected:
        SDAI_Real _dailyinteraction;    //  OPTIONAL
        SDAI_Real _importancerating = 0.0;    //  OPTIONAL
        SDAI_Application_instance_ptr _locationofinteraction = NULL;    //  OPTIONAL
        SDAI_Application_instance_ptr _relatedspaceprogram = NULL;
        SDAI_Application_instance_ptr _relatingspaceprogram = NULL;
    public: 
        SdaiIfcrelinteractionrequirements();
        SdaiIfcrelinteractionrequirements( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcrelinteractionrequirements( SdaiIfcrelinteractionrequirements & e );
        ~SdaiIfcrelinteractionrequirements();
        int opcode() {
            return 382;
        }
        SdaiIfccountmeasure   dailyinteraction_() const;
        void dailyinteraction_( const SdaiIfccountmeasure x );

        SdaiIfcnormalisedratiomeasure   importancerating_() const;
        void importancerating_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcspatialstructureelement_ptr_c locationofinteraction_() const;
        SdaiIfcspatialstructureelement_ptr   locationofinteraction_();
        void locationofinteraction_( const SdaiIfcspatialstructureelement_ptr x );

        SdaiIfcspaceprogram_ptr_c relatedspaceprogram_() const;
        SdaiIfcspaceprogram_ptr   relatedspaceprogram_();
        void relatedspaceprogram_( const SdaiIfcspaceprogram_ptr x );

        SdaiIfcspaceprogram_ptr_c relatingspaceprogram_() const;
        SdaiIfcspaceprogram_ptr   relatingspaceprogram_();
        void relatingspaceprogram_( const SdaiIfcspaceprogram_ptr x );

};

inline SdaiIfcrelinteractionrequirements * create_SdaiIfcrelinteractionrequirements() {
    return new SdaiIfcrelinteractionrequirements;
}

void init_SdaiIfcrelinteractionrequirements(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcrelinteractionrequirements;
    extern AttrDescriptor *a_847dailyinteraction;
    extern AttrDescriptor *a_848importancerating;
    extern AttrDescriptor *a_849locationofinteraction;
    extern AttrDescriptor *a_850relatedspaceprogram;
    extern AttrDescriptor *a_851relatingspaceprogram;
}

#endif
