#ifndef  ENTITY_SDAIRECTANGULAR_TRIMMED_SURFACE_H
#define  ENTITY_SDAIRECTANGULAR_TRIMMED_SURFACE_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 SdaiRectangular_trimmed_surface : public SdaiBounded_surface {
     protected:
        SDAI_Application_instance_ptr _basis_surface = NULL;
        SDAI_Real _u1 = 0.0;
        SDAI_Real _u2 = 0.0;
        SDAI_Real _v1 = 0.0;
        SDAI_Real _v2 = 0.0;
        SDAI_BOOLEAN _usense = false;
        SDAI_BOOLEAN _vsense = false;
    public: 
        SdaiRectangular_trimmed_surface();
        SdaiRectangular_trimmed_surface( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiRectangular_trimmed_surface( SdaiRectangular_trimmed_surface & e );
        ~SdaiRectangular_trimmed_surface();
        int opcode() {
            return 320;
        }
        SdaiSurface_ptr_c basis_surface_() const;
        SdaiSurface_ptr   basis_surface_();
        void basis_surface_( const SdaiSurface_ptr x );

        SdaiParameter_value   u1_() const;
        void u1_( const SdaiParameter_value x );

        SdaiParameter_value   u2_() const;
        void u2_( const SdaiParameter_value x );

        SdaiParameter_value   v1_() const;
        void v1_( const SdaiParameter_value x );

        SdaiParameter_value   v2_() const;
        void v2_( const SdaiParameter_value x );

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

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

};

inline SdaiRectangular_trimmed_surface * create_SdaiRectangular_trimmed_surface() {
    return new SdaiRectangular_trimmed_surface;
}

void init_SdaiRectangular_trimmed_surface(Registry& reg);

namespace integrated_cnc_schema {
    extern EntityDescriptor *e_rectangular_trimmed_surface;
    extern AttrDescriptor *a_394basis_surface;
    extern AttrDescriptor *a_395u1;
    extern AttrDescriptor *a_396u2;
    extern AttrDescriptor *a_397v1;
    extern AttrDescriptor *a_398v2;
    extern AttrDescriptor *a_399usense;
    extern AttrDescriptor *a_400vsense;
}

#endif
