#ifndef  ENTITY_SDAIPOINT_ON_PLANAR_CURVE_PAIR_RANGE_H
#define  ENTITY_SDAIPOINT_ON_PLANAR_CURVE_PAIR_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 SdaiPoint_on_planar_curve_pair_range : public SdaiSimple_pair_range {
     protected:
        SDAI_Application_instance_ptr _simple_pair_range_applies_to_pair = NULL;
        SDAI_Application_instance_ptr _range_on_pair_curve = NULL;
        SdaiRotational_range_measure _lower_limit_yaw;
        SdaiRotational_range_measure _upper_limit_yaw;
        SdaiRotational_range_measure _lower_limit_pitch;
        SdaiRotational_range_measure _upper_limit_pitch;
        SdaiRotational_range_measure _lower_limit_roll;
        SdaiRotational_range_measure _upper_limit_roll;
    public: 
        SdaiPoint_on_planar_curve_pair_range();
        SdaiPoint_on_planar_curve_pair_range( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiPoint_on_planar_curve_pair_range( SdaiPoint_on_planar_curve_pair_range & e );
        ~SdaiPoint_on_planar_curve_pair_range();
        int opcode() {
            return 878;
        }
        SdaiPoint_on_planar_curve_pair_ptr_c simple_pair_range_applies_to_pair_() const;
        SdaiPoint_on_planar_curve_pair_ptr   simple_pair_range_applies_to_pair_();
        void simple_pair_range_applies_to_pair_( const SdaiPoint_on_planar_curve_pair_ptr x );

        SdaiTrimmed_curve_ptr_c range_on_pair_curve_() const;
        SdaiTrimmed_curve_ptr   range_on_pair_curve_();
        void range_on_pair_curve_( const SdaiTrimmed_curve_ptr x );

        SdaiRotational_range_measure_ptr_c lower_limit_yaw_() const;
        SdaiRotational_range_measure_ptr   lower_limit_yaw_();
        void lower_limit_yaw_( const SdaiRotational_range_measure_ptr x );

        SdaiRotational_range_measure_ptr_c upper_limit_yaw_() const;
        SdaiRotational_range_measure_ptr   upper_limit_yaw_();
        void upper_limit_yaw_( const SdaiRotational_range_measure_ptr x );

        SdaiRotational_range_measure_ptr_c lower_limit_pitch_() const;
        SdaiRotational_range_measure_ptr   lower_limit_pitch_();
        void lower_limit_pitch_( const SdaiRotational_range_measure_ptr x );

        SdaiRotational_range_measure_ptr_c upper_limit_pitch_() const;
        SdaiRotational_range_measure_ptr   upper_limit_pitch_();
        void upper_limit_pitch_( const SdaiRotational_range_measure_ptr x );

        SdaiRotational_range_measure_ptr_c lower_limit_roll_() const;
        SdaiRotational_range_measure_ptr   lower_limit_roll_();
        void lower_limit_roll_( const SdaiRotational_range_measure_ptr x );

        SdaiRotational_range_measure_ptr_c upper_limit_roll_() const;
        SdaiRotational_range_measure_ptr   upper_limit_roll_();
        void upper_limit_roll_( const SdaiRotational_range_measure_ptr x );

};

inline SdaiPoint_on_planar_curve_pair_range * create_SdaiPoint_on_planar_curve_pair_range() {
    return new SdaiPoint_on_planar_curve_pair_range;
}

void init_SdaiPoint_on_planar_curve_pair_range(Registry& reg);

namespace automotive_design {
    extern EntityDescriptor *e_point_on_planar_curve_pair_range;
    extern AttrDescriptor *a_1235Rsimple_pair_range_applies_to_pair;
    extern AttrDescriptor *a_1236range_on_pair_curve;
    extern AttrDescriptor *a_1237lower_limit_yaw;
    extern AttrDescriptor *a_1238upper_limit_yaw;
    extern AttrDescriptor *a_1239lower_limit_pitch;
    extern AttrDescriptor *a_1240upper_limit_pitch;
    extern AttrDescriptor *a_1241lower_limit_roll;
    extern AttrDescriptor *a_1242upper_limit_roll;
}

#endif
