#ifndef  ENTITY_SDAIIFCTENDON_H
#define  ENTITY_SDAIIFCTENDON_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 SdaiIfctendon : public SdaiIfcreinforcingelement {
     protected:
        SdaiIfctendontypeenum_var _predefinedtype;
        SDAI_Real _nominaldiameter = 0.0;
        SDAI_Real _crosssectionarea = 0.0;
        SDAI_Real _tensionforce = 0.0;    //  OPTIONAL
        SDAI_Real _prestress = 0.0;    //  OPTIONAL
        SDAI_Real _frictioncoefficient = 0.0;    //  OPTIONAL
        SDAI_Real _anchorageslip = 0.0;    //  OPTIONAL
        SDAI_Real _mincurvatureradius = 0.0;    //  OPTIONAL
    public: 
        SdaiIfctendon();
        SdaiIfctendon( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfctendon( SdaiIfctendon & e );
        ~SdaiIfctendon();
        int opcode() {
            return 109;
        }
  const SdaiIfctendontypeenum_var   predefinedtype_() const;
        SdaiIfctendontypeenum_var   predefinedtype_();
        void predefinedtype_( const SdaiIfctendontypeenum_var x );

        SdaiIfcpositivelengthmeasure   nominaldiameter_() const;
        void nominaldiameter_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcareameasure   crosssectionarea_() const;
        void crosssectionarea_( const SdaiIfcareameasure x );

        SdaiIfcforcemeasure   tensionforce_() const;
        void tensionforce_( const SdaiIfcforcemeasure x );

        SdaiIfcpressuremeasure   prestress_() const;
        void prestress_( const SdaiIfcpressuremeasure x );

        SdaiIfcnormalisedratiomeasure   frictioncoefficient_() const;
        void frictioncoefficient_( const SdaiIfcnormalisedratiomeasure x );

        SdaiIfcpositivelengthmeasure   anchorageslip_() const;
        void anchorageslip_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   mincurvatureradius_() const;
        void mincurvatureradius_( const SdaiIfcpositivelengthmeasure x );

};

inline SdaiIfctendon * create_SdaiIfctendon() {
    return new SdaiIfctendon;
}

void init_SdaiIfctendon(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifctendon;
    extern AttrDescriptor *a_224predefinedtype;
    extern AttrDescriptor *a_225nominaldiameter;
    extern AttrDescriptor *a_226crosssectionarea;
    extern AttrDescriptor *a_227tensionforce;
    extern AttrDescriptor *a_228prestress;
    extern AttrDescriptor *a_229frictioncoefficient;
    extern AttrDescriptor *a_230anchorageslip;
    extern AttrDescriptor *a_231mincurvatureradius;
}

#endif
