#ifndef  ENTITY_SDAIPOINT_ON_SURFACE_PAIR_VALUE_H
#define  ENTITY_SDAIPOINT_ON_SURFACE_PAIR_VALUE_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_surface_pair_value : public SdaiPair_value {
     protected:
        SDAI_Application_instance_ptr _pair_value_applies_to_pair = NULL;
        SDAI_Application_instance_ptr _actual_point_on_surface = NULL;
        SdaiSpatial_rotation _input_orientation;
    public: 
        SdaiPoint_on_surface_pair_value();
        SdaiPoint_on_surface_pair_value( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiPoint_on_surface_pair_value( SdaiPoint_on_surface_pair_value & e );
        ~SdaiPoint_on_surface_pair_value();
        int opcode() {
            return 806;
        }
        SdaiPoint_on_surface_pair_ptr_c pair_value_applies_to_pair_() const;
        SdaiPoint_on_surface_pair_ptr   pair_value_applies_to_pair_();
        void pair_value_applies_to_pair_( const SdaiPoint_on_surface_pair_ptr x );

        SdaiPoint_on_surface_ptr_c actual_point_on_surface_() const;
        SdaiPoint_on_surface_ptr   actual_point_on_surface_();
        void actual_point_on_surface_( const SdaiPoint_on_surface_ptr x );

        SdaiSpatial_rotation_ptr_c input_orientation_() const;
        SdaiSpatial_rotation_ptr   input_orientation_();
        void input_orientation_( const SdaiSpatial_rotation_ptr x );

};

inline SdaiPoint_on_surface_pair_value * create_SdaiPoint_on_surface_pair_value() {
    return new SdaiPoint_on_surface_pair_value;
}

void init_SdaiPoint_on_surface_pair_value(Registry& reg);

namespace automotive_design {
    extern EntityDescriptor *e_point_on_surface_pair_value;
    extern AttrDescriptor *a_1129Rpair_value_applies_to_pair;
    extern AttrDescriptor *a_1130actual_point_on_surface;
    extern AttrDescriptor *a_1131input_orientation;
    extern Derived_attribute *a_1132Dactual_orientation;
}

#endif
