#ifndef  ENTITY_SDAIIFCBOUNDARYNODECONDITION_H
#define  ENTITY_SDAIIFCBOUNDARYNODECONDITION_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 SdaiIfcboundarynodecondition : public SdaiIfcboundarycondition {
     protected:
        SdaiIfctranslationalstiffnessselect _translationalstiffnessx;    //  OPTIONAL
        SdaiIfctranslationalstiffnessselect _translationalstiffnessy;    //  OPTIONAL
        SdaiIfctranslationalstiffnessselect _translationalstiffnessz;    //  OPTIONAL
        SdaiIfcrotationalstiffnessselect _rotationalstiffnessx;    //  OPTIONAL
        SdaiIfcrotationalstiffnessselect _rotationalstiffnessy;    //  OPTIONAL
        SdaiIfcrotationalstiffnessselect _rotationalstiffnessz;    //  OPTIONAL
    public: 
        SdaiIfcboundarynodecondition();
        SdaiIfcboundarynodecondition( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcboundarynodecondition( SdaiIfcboundarynodecondition & e );
        ~SdaiIfcboundarynodecondition();
        int opcode() {
            return 58;
        }
        SdaiIfctranslationalstiffnessselect_ptr_c translationalstiffnessx_() const;
        SdaiIfctranslationalstiffnessselect_ptr   translationalstiffnessx_();
        void translationalstiffnessx_( const SdaiIfctranslationalstiffnessselect_ptr x );

        SdaiIfctranslationalstiffnessselect_ptr_c translationalstiffnessy_() const;
        SdaiIfctranslationalstiffnessselect_ptr   translationalstiffnessy_();
        void translationalstiffnessy_( const SdaiIfctranslationalstiffnessselect_ptr x );

        SdaiIfctranslationalstiffnessselect_ptr_c translationalstiffnessz_() const;
        SdaiIfctranslationalstiffnessselect_ptr   translationalstiffnessz_();
        void translationalstiffnessz_( const SdaiIfctranslationalstiffnessselect_ptr x );

        SdaiIfcrotationalstiffnessselect_ptr_c rotationalstiffnessx_() const;
        SdaiIfcrotationalstiffnessselect_ptr   rotationalstiffnessx_();
        void rotationalstiffnessx_( const SdaiIfcrotationalstiffnessselect_ptr x );

        SdaiIfcrotationalstiffnessselect_ptr_c rotationalstiffnessy_() const;
        SdaiIfcrotationalstiffnessselect_ptr   rotationalstiffnessy_();
        void rotationalstiffnessy_( const SdaiIfcrotationalstiffnessselect_ptr x );

        SdaiIfcrotationalstiffnessselect_ptr_c rotationalstiffnessz_() const;
        SdaiIfcrotationalstiffnessselect_ptr   rotationalstiffnessz_();
        void rotationalstiffnessz_( const SdaiIfcrotationalstiffnessselect_ptr x );

};

inline SdaiIfcboundarynodecondition * create_SdaiIfcboundarynodecondition() {
    return new SdaiIfcboundarynodecondition;
}

void init_SdaiIfcboundarynodecondition(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcboundarynodecondition;
    extern AttrDescriptor *a_123translationalstiffnessx;
    extern AttrDescriptor *a_124translationalstiffnessy;
    extern AttrDescriptor *a_125translationalstiffnessz;
    extern AttrDescriptor *a_126rotationalstiffnessx;
    extern AttrDescriptor *a_127rotationalstiffnessy;
    extern AttrDescriptor *a_128rotationalstiffnessz;
}

#endif
