#ifndef  ENTITY_SDAISURFACE_PAIR_WITH_RANGE_H
#define  ENTITY_SDAISURFACE_PAIR_WITH_RANGE_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 SdaiSurface_pair_with_range : public SdaiSurface_pair {
     protected:
        SDAI_Application_instance_ptr _range_on_surface_1 = NULL;
        SDAI_Application_instance_ptr _range_on_surface_2 = NULL;
        SDAI_Real _lower_limit_actual_rotation = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_rotation = 0.0;    //  OPTIONAL
    public: 
        SdaiSurface_pair_with_range();
        SdaiSurface_pair_with_range( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSurface_pair_with_range( SdaiSurface_pair_with_range & e );
        ~SdaiSurface_pair_with_range();
        int opcode() {
            return 90;
        }
        SdaiRectangular_trimmed_surface_ptr_c range_on_surface_1_() const;
        SdaiRectangular_trimmed_surface_ptr   range_on_surface_1_();
        void range_on_surface_1_( const SdaiRectangular_trimmed_surface_ptr x );

        SdaiRectangular_trimmed_surface_ptr_c range_on_surface_2_() const;
        SdaiRectangular_trimmed_surface_ptr   range_on_surface_2_();
        void range_on_surface_2_( const SdaiRectangular_trimmed_surface_ptr x );

        SdaiPlane_angle_measure   lower_limit_actual_rotation_() const;
        void lower_limit_actual_rotation_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   upper_limit_actual_rotation_() const;
        void upper_limit_actual_rotation_( const SdaiPlane_angle_measure x );

};

inline SdaiSurface_pair_with_range * create_SdaiSurface_pair_with_range() {
    return new SdaiSurface_pair_with_range;
}

void init_SdaiSurface_pair_with_range(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_surface_pair_with_range;
    extern AttrDescriptor *a_117range_on_surface_1;
    extern AttrDescriptor *a_118range_on_surface_2;
    extern AttrDescriptor *a_119lower_limit_actual_rotation;
    extern AttrDescriptor *a_120upper_limit_actual_rotation;
}

#endif
