#ifndef  ENTITY_SDAIVOLUME_2D_ELEMENT_BASIS_H
#define  ENTITY_SDAIVOLUME_2D_ELEMENT_BASIS_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 SdaiVolume_2d_element_basis : public SDAI_Application_instance {
    protected:
        SdaiVolume_2d_element_descriptor _descriptor;
        SdaiVolume_variable _variable;
        SdaiElement_order_var _variable_order;
        SdaiShape_function_var _variable_shape_function;
        EntityAggregate_ptr _evaluation_points = NULL;          //  of  volume_element_location

    public: 
        SdaiVolume_2d_element_basis();
        SdaiVolume_2d_element_basis( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiVolume_2d_element_basis( SdaiVolume_2d_element_basis & e );
        ~SdaiVolume_2d_element_basis();
        int opcode() {
            return 1148;
        }
        SdaiVolume_2d_element_descriptor_ptr_c descriptor_() const;
        SdaiVolume_2d_element_descriptor_ptr   descriptor_();
        void descriptor_( const SdaiVolume_2d_element_descriptor_ptr x );

        SdaiVolume_variable_ptr_c variable_() const;
        SdaiVolume_variable_ptr   variable_();
        void variable_( const SdaiVolume_variable_ptr x );

  const SdaiElement_order_var   variable_order_() const;
        SdaiElement_order_var   variable_order_();
        void variable_order_( const SdaiElement_order_var x );

  const SdaiShape_function_var   variable_shape_function_() const;
        SdaiShape_function_var   variable_shape_function_();
        void variable_shape_function_( const SdaiShape_function_var x );

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

};

inline SdaiVolume_2d_element_basis * create_SdaiVolume_2d_element_basis() {
    return new SdaiVolume_2d_element_basis;
}

void init_SdaiVolume_2d_element_basis(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_volume_2d_element_basis;
    extern AttrDescriptor *a_1700descriptor;
    extern AttrDescriptor *a_1701variable;
    extern AttrDescriptor *a_1702variable_order;
    extern AttrDescriptor *a_1703variable_shape_function;
    extern AttrDescriptor *a_1704evaluation_points;
}

#endif
