#ifndef  ENTITY_SDAIPOLAR_COMPLEX_NUMBER_REGION_H
#define  ENTITY_SDAIPOLAR_COMPLEX_NUMBER_REGION_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 SdaiPolar_complex_number_region : public SdaiMaths_space {
     protected:
        SDAI_Application_instance_ptr _centre = NULL;
        SdaiReal_interval _distance_constraint;
        SDAI_Application_instance_ptr _direction_constraint = NULL;
    public: 
        SdaiPolar_complex_number_region();
        SdaiPolar_complex_number_region( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiPolar_complex_number_region( SdaiPolar_complex_number_region & e );
        ~SdaiPolar_complex_number_region();
        int opcode() {
            return 585;
        }
        SdaiComplex_number_literal_ptr_c centre_() const;
        SdaiComplex_number_literal_ptr   centre_();
        void centre_( const SdaiComplex_number_literal_ptr x );

        SdaiReal_interval_ptr_c distance_constraint_() const;
        SdaiReal_interval_ptr   distance_constraint_();
        void distance_constraint_( const SdaiReal_interval_ptr x );

        SdaiFinite_real_interval_ptr_c direction_constraint_() const;
        SdaiFinite_real_interval_ptr   direction_constraint_();
        void direction_constraint_( const SdaiFinite_real_interval_ptr x );

};

inline SdaiPolar_complex_number_region * create_SdaiPolar_complex_number_region() {
    return new SdaiPolar_complex_number_region;
}

void init_SdaiPolar_complex_number_region(Registry& reg);

namespace engineering_properties_schema {
    extern EntityDescriptor *e_polar_complex_number_region;
    extern AttrDescriptor *a_939centre;
    extern AttrDescriptor *a_940distance_constraint;
    extern AttrDescriptor *a_941direction_constraint;
}

#endif
