#ifndef  ENTITY_SDAIIFCREINFORCINGMESH_H
#define  ENTITY_SDAIIFCREINFORCINGMESH_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 SdaiIfcreinforcingmesh : public SdaiIfcreinforcingelement {
     protected:
        SDAI_Real _meshlength = 0.0;    //  OPTIONAL
        SDAI_Real _meshwidth = 0.0;    //  OPTIONAL
        SDAI_Real _longitudinalbarnominaldiameter = 0.0;
        SDAI_Real _transversebarnominaldiameter = 0.0;
        SDAI_Real _longitudinalbarcrosssectionarea = 0.0;
        SDAI_Real _transversebarcrosssectionarea = 0.0;
        SDAI_Real _longitudinalbarspacing = 0.0;
        SDAI_Real _transversebarspacing = 0.0;
    public: 
        SdaiIfcreinforcingmesh();
        SdaiIfcreinforcingmesh( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcreinforcingmesh( SdaiIfcreinforcingmesh & e );
        ~SdaiIfcreinforcingmesh();
        int opcode() {
            return 240;
        }
        SdaiIfcpositivelengthmeasure   meshlength_() const;
        void meshlength_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   meshwidth_() const;
        void meshwidth_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   longitudinalbarnominaldiameter_() const;
        void longitudinalbarnominaldiameter_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   transversebarnominaldiameter_() const;
        void transversebarnominaldiameter_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcareameasure   longitudinalbarcrosssectionarea_() const;
        void longitudinalbarcrosssectionarea_( const SdaiIfcareameasure x );

        SdaiIfcareameasure   transversebarcrosssectionarea_() const;
        void transversebarcrosssectionarea_( const SdaiIfcareameasure x );

        SdaiIfcpositivelengthmeasure   longitudinalbarspacing_() const;
        void longitudinalbarspacing_( const SdaiIfcpositivelengthmeasure x );

        SdaiIfcpositivelengthmeasure   transversebarspacing_() const;
        void transversebarspacing_( const SdaiIfcpositivelengthmeasure x );

};

inline SdaiIfcreinforcingmesh * create_SdaiIfcreinforcingmesh() {
    return new SdaiIfcreinforcingmesh;
}

void init_SdaiIfcreinforcingmesh(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcreinforcingmesh;
    extern AttrDescriptor *a_536meshlength;
    extern AttrDescriptor *a_537meshwidth;
    extern AttrDescriptor *a_538longitudinalbarnominaldiameter;
    extern AttrDescriptor *a_539transversebarnominaldiameter;
    extern AttrDescriptor *a_540longitudinalbarcrosssectionarea;
    extern AttrDescriptor *a_541transversebarcrosssectionarea;
    extern AttrDescriptor *a_542longitudinalbarspacing;
    extern AttrDescriptor *a_543transversebarspacing;
}

#endif
