#ifndef  ENTITY_SDAILOW_ORDER_KINEMATIC_PAIR_WITH_RANGE_H
#define  ENTITY_SDAILOW_ORDER_KINEMATIC_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 SdaiLow_order_kinematic_pair_with_range : public SdaiLow_order_kinematic_pair {
     protected:
        SDAI_Real _lower_limit_actual_rotation_x = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_rotation_x = 0.0;    //  OPTIONAL
        SDAI_Real _lower_limit_actual_rotation_y = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_rotation_y = 0.0;    //  OPTIONAL
        SDAI_Real _lower_limit_actual_rotation_z = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_rotation_z = 0.0;    //  OPTIONAL
        SDAI_Real _lower_limit_actual_translation_x = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_translation_x = 0.0;    //  OPTIONAL
        SDAI_Real _lower_limit_actual_translation_y = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_translation_y = 0.0;    //  OPTIONAL
        SDAI_Real _lower_limit_actual_translation_z = 0.0;    //  OPTIONAL
        SDAI_Real _upper_limit_actual_translation_z = 0.0;    //  OPTIONAL
    public: 
        SdaiLow_order_kinematic_pair_with_range();
        SdaiLow_order_kinematic_pair_with_range( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiLow_order_kinematic_pair_with_range( SdaiLow_order_kinematic_pair_with_range & e );
        ~SdaiLow_order_kinematic_pair_with_range();
        int opcode() {
            return 1901;
        }
        SdaiPlane_angle_measure   lower_limit_actual_rotation_x_() const;
        void lower_limit_actual_rotation_x_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   upper_limit_actual_rotation_x_() const;
        void upper_limit_actual_rotation_x_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   lower_limit_actual_rotation_y_() const;
        void lower_limit_actual_rotation_y_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   upper_limit_actual_rotation_y_() const;
        void upper_limit_actual_rotation_y_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   lower_limit_actual_rotation_z_() const;
        void lower_limit_actual_rotation_z_( const SdaiPlane_angle_measure x );

        SdaiPlane_angle_measure   upper_limit_actual_rotation_z_() const;
        void upper_limit_actual_rotation_z_( const SdaiPlane_angle_measure x );

        SdaiLength_measure   lower_limit_actual_translation_x_() const;
        void lower_limit_actual_translation_x_( const SdaiLength_measure x );

        SdaiLength_measure   upper_limit_actual_translation_x_() const;
        void upper_limit_actual_translation_x_( const SdaiLength_measure x );

        SdaiLength_measure   lower_limit_actual_translation_y_() const;
        void lower_limit_actual_translation_y_( const SdaiLength_measure x );

        SdaiLength_measure   upper_limit_actual_translation_y_() const;
        void upper_limit_actual_translation_y_( const SdaiLength_measure x );

        SdaiLength_measure   lower_limit_actual_translation_z_() const;
        void lower_limit_actual_translation_z_( const SdaiLength_measure x );

        SdaiLength_measure   upper_limit_actual_translation_z_() const;
        void upper_limit_actual_translation_z_( const SdaiLength_measure x );

};

inline SdaiLow_order_kinematic_pair_with_range * create_SdaiLow_order_kinematic_pair_with_range() {
    return new SdaiLow_order_kinematic_pair_with_range;
}

void init_SdaiLow_order_kinematic_pair_with_range(Registry& reg);

namespace ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf {
    extern EntityDescriptor *e_low_order_kinematic_pair_with_range;
    extern AttrDescriptor *a_2060lower_limit_actual_rotation_x;
    extern AttrDescriptor *a_2061upper_limit_actual_rotation_x;
    extern AttrDescriptor *a_2062lower_limit_actual_rotation_y;
    extern AttrDescriptor *a_2063upper_limit_actual_rotation_y;
    extern AttrDescriptor *a_2064lower_limit_actual_rotation_z;
    extern AttrDescriptor *a_2065upper_limit_actual_rotation_z;
    extern AttrDescriptor *a_2066lower_limit_actual_translation_x;
    extern AttrDescriptor *a_2067upper_limit_actual_translation_x;
    extern AttrDescriptor *a_2068lower_limit_actual_translation_y;
    extern AttrDescriptor *a_2069upper_limit_actual_translation_y;
    extern AttrDescriptor *a_2070lower_limit_actual_translation_z;
    extern AttrDescriptor *a_2071upper_limit_actual_translation_z;
}

#endif
