#ifndef  ENTITY_SDAIIFCRECTANGULARTRIMMEDSURFACE_H
#define  ENTITY_SDAIIFCRECTANGULARTRIMMEDSURFACE_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 SdaiIfcrectangulartrimmedsurface : public SdaiIfcboundedsurface {
     protected:
        SDAI_Application_instance_ptr _basissurface = NULL;
        SDAI_Real _u1 = 0.0;
        SDAI_Real _v1 = 0.0;
        SDAI_Real _u2 = 0.0;
        SDAI_Real _v2 = 0.0;
        SDAI_BOOLEAN _usense = false;
        SDAI_BOOLEAN _vsense = false;
    public: 
        SdaiIfcrectangulartrimmedsurface();
        SdaiIfcrectangulartrimmedsurface( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcrectangulartrimmedsurface( SdaiIfcrectangulartrimmedsurface & e );
        ~SdaiIfcrectangulartrimmedsurface();
        int opcode() {
            return 647;
        }
        SdaiIfcsurface_ptr_c basissurface_() const;
        SdaiIfcsurface_ptr   basissurface_();
        void basissurface_( const SdaiIfcsurface_ptr x );

        SdaiIfcparametervalue   u1_() const;
        void u1_( const SdaiIfcparametervalue x );

        SdaiIfcparametervalue   v1_() const;
        void v1_( const SdaiIfcparametervalue x );

        SdaiIfcparametervalue   u2_() const;
        void u2_( const SdaiIfcparametervalue x );

        SdaiIfcparametervalue   v2_() const;
        void v2_( const SdaiIfcparametervalue x );

        Boolean   usense_() const;
        void usense_( const Boolean x );

        Boolean   vsense_() const;
        void vsense_( const Boolean x );

};

inline SdaiIfcrectangulartrimmedsurface * create_SdaiIfcrectangulartrimmedsurface() {
    return new SdaiIfcrectangulartrimmedsurface;
}

void init_SdaiIfcrectangulartrimmedsurface(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcrectangulartrimmedsurface;
    extern AttrDescriptor *a_1467basissurface;
    extern AttrDescriptor *a_1468u1;
    extern AttrDescriptor *a_1469v1;
    extern AttrDescriptor *a_1470u2;
    extern AttrDescriptor *a_1471v2;
    extern AttrDescriptor *a_1472usense;
    extern AttrDescriptor *a_1473vsense;
    extern Derived_attribute *a_1474Ddim;
}

#endif
