#ifndef  ENTITY_SDAIIFCMATERIALDEFINITION_H
#define  ENTITY_SDAIIFCMATERIALDEFINITION_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 SdaiIfcmaterialdefinition : public SDAI_Application_instance {
    protected:
    public: 
        SdaiIfcmaterialdefinition();
        SdaiIfcmaterialdefinition( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcmaterialdefinition( SdaiIfcmaterialdefinition & e );
        ~SdaiIfcmaterialdefinition();
        int opcode() {
            return 15;
        }
        EntityAggregate_ptr_c associatedto_() const;
        EntityAggregate_ptr   associatedto_();
        void associatedto_( const EntityAggregate_ptr x );

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

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

};

inline SdaiIfcmaterialdefinition * create_SdaiIfcmaterialdefinition() {
    return new SdaiIfcmaterialdefinition;
}

void init_SdaiIfcmaterialdefinition(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcmaterialdefinition;
    extern Inverse_attribute *a_34Iassociatedto;
    extern Inverse_attribute *a_35Ihasexternalreferences;
    extern Inverse_attribute *a_36Ihasproperties;
}

#endif
