#ifndef  ENTITY_SDAIIFCSURFACETEXTURE_H
#define  ENTITY_SDAIIFCSURFACETEXTURE_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 SdaiIfcsurfacetexture : public SDAI_Application_instance {
    protected:
        SDAI_BOOLEAN _repeats = false;
        SDAI_BOOLEAN _repeatt = false;
        SdaiIfcsurfacetextureenum_var _texturetype;
        SDAI_Application_instance_ptr _texturetransform = NULL;    //  OPTIONAL
    public: 
        SdaiIfcsurfacetexture();
        SdaiIfcsurfacetexture( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcsurfacetexture( SdaiIfcsurfacetexture & e );
        ~SdaiIfcsurfacetexture();
        int opcode() {
            return 121;
        }
        Boolean   repeats_() const;
        void repeats_( const Boolean x );

        Boolean   repeatt_() const;
        void repeatt_( const Boolean x );

  const SdaiIfcsurfacetextureenum_var   texturetype_() const;
        SdaiIfcsurfacetextureenum_var   texturetype_();
        void texturetype_( const SdaiIfcsurfacetextureenum_var x );

        SdaiIfccartesiantransformationoperator2d_ptr_c texturetransform_() const;
        SdaiIfccartesiantransformationoperator2d_ptr   texturetransform_();
        void texturetransform_( const SdaiIfccartesiantransformationoperator2d_ptr x );

};

inline SdaiIfcsurfacetexture * create_SdaiIfcsurfacetexture() {
    return new SdaiIfcsurfacetexture;
}

void init_SdaiIfcsurfacetexture(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcsurfacetexture;
    extern AttrDescriptor *a_263repeats;
    extern AttrDescriptor *a_264repeatt;
    extern AttrDescriptor *a_265texturetype;
    extern AttrDescriptor *a_266texturetransform;
}

#endif
