#ifndef  ENTITY_SDAIFREE_FORM_CONSTRAINT_H
#define  ENTITY_SDAIFREE_FORM_CONSTRAINT_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 SdaiFree_form_constraint : public SdaiExplicit_constraint {
     protected:
        EntityAggregate_ptr _explicit_constraint_constrained_elements = NULL;          //  of  variational_parameter

        EntityAggregate_ptr _explicit_constraint_reference_elements = NULL;          //  of  variational_parameter

        SDAI_Application_instance_ptr _constraining_expression = NULL;
    public: 
        SdaiFree_form_constraint();
        SdaiFree_form_constraint( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiFree_form_constraint( SdaiFree_form_constraint & e );
        ~SdaiFree_form_constraint();
        int opcode() {
            return 398;
        }
        EntityAggregate_ptr_c explicit_constraint_constrained_elements_() const;
        EntityAggregate_ptr   explicit_constraint_constrained_elements_();
        void explicit_constraint_constrained_elements_( const EntityAggregate_ptr x );

        EntityAggregate_ptr_c explicit_constraint_reference_elements_() const;
        EntityAggregate_ptr   explicit_constraint_reference_elements_();
        void explicit_constraint_reference_elements_( const EntityAggregate_ptr x );

        SdaiExpression_ptr_c constraining_expression_() const;
        SdaiExpression_ptr   constraining_expression_();
        void constraining_expression_( const SdaiExpression_ptr x );

};

inline SdaiFree_form_constraint * create_SdaiFree_form_constraint() {
    return new SdaiFree_form_constraint;
}

void init_SdaiFree_form_constraint(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_free_form_constraint;
    extern AttrDescriptor *a_593Rexplicit_constraint_constrained_elements;
    extern AttrDescriptor *a_594Rexplicit_constraint_reference_elements;
    extern AttrDescriptor *a_595constraining_expression;
}

#endif
