#ifndef  ENTITY_SDAIIFCBOUNDARYEDGECONDITION_H
#define  ENTITY_SDAIIFCBOUNDARYEDGECONDITION_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 SdaiIfcboundaryedgecondition : public SdaiIfcboundarycondition {
     protected:
        SdaiIfcmodulusoftranslationalsubgradereactionselect _translationalstiffnessbylengthx;    //  OPTIONAL
        SdaiIfcmodulusoftranslationalsubgradereactionselect _translationalstiffnessbylengthy;    //  OPTIONAL
        SdaiIfcmodulusoftranslationalsubgradereactionselect _translationalstiffnessbylengthz;    //  OPTIONAL
        SdaiIfcmodulusofrotationalsubgradereactionselect _rotationalstiffnessbylengthx;    //  OPTIONAL
        SdaiIfcmodulusofrotationalsubgradereactionselect _rotationalstiffnessbylengthy;    //  OPTIONAL
        SdaiIfcmodulusofrotationalsubgradereactionselect _rotationalstiffnessbylengthz;    //  OPTIONAL
    public: 
        SdaiIfcboundaryedgecondition();
        SdaiIfcboundaryedgecondition( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcboundaryedgecondition( SdaiIfcboundaryedgecondition & e );
        ~SdaiIfcboundaryedgecondition();
        int opcode() {
            return 479;
        }
        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr_c translationalstiffnessbylengthx_() const;
        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr   translationalstiffnessbylengthx_();
        void translationalstiffnessbylengthx_( const SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr x );

        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr_c translationalstiffnessbylengthy_() const;
        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr   translationalstiffnessbylengthy_();
        void translationalstiffnessbylengthy_( const SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr x );

        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr_c translationalstiffnessbylengthz_() const;
        SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr   translationalstiffnessbylengthz_();
        void translationalstiffnessbylengthz_( const SdaiIfcmodulusoftranslationalsubgradereactionselect_ptr x );

        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr_c rotationalstiffnessbylengthx_() const;
        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr   rotationalstiffnessbylengthx_();
        void rotationalstiffnessbylengthx_( const SdaiIfcmodulusofrotationalsubgradereactionselect_ptr x );

        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr_c rotationalstiffnessbylengthy_() const;
        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr   rotationalstiffnessbylengthy_();
        void rotationalstiffnessbylengthy_( const SdaiIfcmodulusofrotationalsubgradereactionselect_ptr x );

        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr_c rotationalstiffnessbylengthz_() const;
        SdaiIfcmodulusofrotationalsubgradereactionselect_ptr   rotationalstiffnessbylengthz_();
        void rotationalstiffnessbylengthz_( const SdaiIfcmodulusofrotationalsubgradereactionselect_ptr x );

};

inline SdaiIfcboundaryedgecondition * create_SdaiIfcboundaryedgecondition() {
    return new SdaiIfcboundaryedgecondition;
}

void init_SdaiIfcboundaryedgecondition(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcboundaryedgecondition;
    extern AttrDescriptor *a_1054translationalstiffnessbylengthx;
    extern AttrDescriptor *a_1055translationalstiffnessbylengthy;
    extern AttrDescriptor *a_1056translationalstiffnessbylengthz;
    extern AttrDescriptor *a_1057rotationalstiffnessbylengthx;
    extern AttrDescriptor *a_1058rotationalstiffnessbylengthy;
    extern AttrDescriptor *a_1059rotationalstiffnessbylengthz;
}

#endif
