#ifndef  ENTITY_SDAIDEFINITE_INTEGRAL_FUNCTION_H
#define  ENTITY_SDAIDEFINITE_INTEGRAL_FUNCTION_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 SdaiDefinite_integral_function : public SdaiMaths_function {
     protected:
        SDAI_Application_instance_ptr _unary_generic_expression_operand = NULL;
        SDAI_Integer _variable_of_integration = 0;
        SDAI_BOOLEAN _lower_limit_neg_infinity = false;
        SDAI_BOOLEAN _upper_limit_pos_infinity = false;
    public: 
        SdaiDefinite_integral_function();
        SdaiDefinite_integral_function( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiDefinite_integral_function( SdaiDefinite_integral_function & e );
        ~SdaiDefinite_integral_function();
        int opcode() {
            return 1609;
        }
        SdaiMaths_function_ptr_c unary_generic_expression_operand_() const;
        SdaiMaths_function_ptr   unary_generic_expression_operand_();
        void unary_generic_expression_operand_( const SdaiMaths_function_ptr x );

        SdaiInput_selector   variable_of_integration_() const;
        void variable_of_integration_( const SdaiInput_selector x );

        Boolean   lower_limit_neg_infinity_() const;
        void lower_limit_neg_infinity_( const Boolean x );

        Boolean   upper_limit_pos_infinity_() const;
        void upper_limit_pos_infinity_( const Boolean x );

};

inline SdaiDefinite_integral_function * create_SdaiDefinite_integral_function() {
    return new SdaiDefinite_integral_function;
}

void init_SdaiDefinite_integral_function(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_definite_integral_function;
    extern AttrDescriptor *a_2117Runary_generic_expression_operand;
    extern AttrDescriptor *a_2118variable_of_integration;
    extern AttrDescriptor *a_2119lower_limit_neg_infinity;
    extern AttrDescriptor *a_2120upper_limit_pos_infinity;
    extern Derived_attribute *a_2121Dintegrand;
}

#endif
