#ifndef  ENTITY_SDAIIFCPROPERTY_H
#define  ENTITY_SDAIIFCPROPERTY_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 SdaiIfcproperty : public SdaiIfcpropertyabstraction {
     protected:
        SDAI_String _name;
        SDAI_String _description;    //  OPTIONAL
    public: 
        SdaiIfcproperty();
        SdaiIfcproperty( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcproperty( SdaiIfcproperty & e );
        ~SdaiIfcproperty();
        int opcode() {
            return 267;
        }
  const SdaiIfcidentifier   name_() const;
        SdaiIfcidentifier   name_();
        void name_( const SdaiIfcidentifier x );

  const SdaiIfctext   description_() const;
        SdaiIfctext   description_();
        void description_( const SdaiIfctext x );

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

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

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

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

};

inline SdaiIfcproperty * create_SdaiIfcproperty() {
    return new SdaiIfcproperty;
}

void init_SdaiIfcproperty(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcproperty;
    extern AttrDescriptor *a_594name;
    extern AttrDescriptor *a_595description;
    extern Inverse_attribute *a_596Ipartofpset;
    extern Inverse_attribute *a_597Ipropertyfordependance;
    extern Inverse_attribute *a_598Ipropertydependson;
    extern Inverse_attribute *a_599Ipartofcomplex;
}

#endif
