#ifndef  ENTITY_SDAISURFACE_2D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_VALUE_H
#define  ENTITY_SDAISURFACE_2D_ELEMENT_BOUNDARY_EDGE_WHOLE_EDGE_VARIABLE_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 SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value : public SdaiSurface_2d_element_field_variable_definition {
     protected:
        SdaiField_value _simple_value;
        SdaiBoundary_aggregated_variable _variable;
        SDAI_Integer _element_edge = 0;
        SdaiSurface_2d_element_coordinate_system _coordinate_system;    //  OPTIONAL
    public: 
        SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value();
        SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value( SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value & e );
        ~SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value();
        int opcode() {
            return 1056;
        }
        SdaiField_value_ptr_c simple_value_() const;
        SdaiField_value_ptr   simple_value_();
        void simple_value_( const SdaiField_value_ptr x );

        SdaiBoundary_aggregated_variable_ptr_c variable_() const;
        SdaiBoundary_aggregated_variable_ptr   variable_();
        void variable_( const SdaiBoundary_aggregated_variable_ptr x );

        SdaiSurface_2d_edge   element_edge_() const;
        void element_edge_( const SdaiSurface_2d_edge x );

        SdaiSurface_2d_element_coordinate_system_ptr_c coordinate_system_() const;
        SdaiSurface_2d_element_coordinate_system_ptr   coordinate_system_();
        void coordinate_system_( const SdaiSurface_2d_element_coordinate_system_ptr x );

};

inline SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value * create_SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value() {
    return new SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value;
}

void init_SdaiSurface_2d_element_boundary_edge_whole_edge_variable_value(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_surface_2d_element_boundary_edge_whole_edge_variable_value;
    extern AttrDescriptor *a_1542simple_value;
    extern AttrDescriptor *a_1543variable;
    extern AttrDescriptor *a_1544element_edge;
    extern AttrDescriptor *a_1545coordinate_system;
}

#endif
