#ifndef  ENTITY_SDAIFIELD_VARIABLE_ELEMENT_GROUP_VALUE_H
#define  ENTITY_SDAIFIELD_VARIABLE_ELEMENT_GROUP_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 SdaiField_variable_element_group_value : public SdaiField_variable_definition {
     protected:
        SDAI_Application_instance_ptr _group = NULL;
        SdaiField_value _simple_value;
        SdaiVolume_aggregated_variable _variable;
        SDAI_Application_instance_ptr _coordinate_system = NULL;    //  OPTIONAL
    public: 
        SdaiField_variable_element_group_value();
        SdaiField_variable_element_group_value( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiField_variable_element_group_value( SdaiField_variable_element_group_value & e );
        ~SdaiField_variable_element_group_value();
        int opcode() {
            return 357;
        }
        SdaiElement_group_ptr_c group_() const;
        SdaiElement_group_ptr   group_();
        void group_( const SdaiElement_group_ptr x );

        SdaiField_value_ptr_c simple_value_() const;
        SdaiField_value_ptr   simple_value_();
        void simple_value_( const SdaiField_value_ptr x );

        SdaiVolume_aggregated_variable_ptr_c variable_() const;
        SdaiVolume_aggregated_variable_ptr   variable_();
        void variable_( const SdaiVolume_aggregated_variable_ptr x );

        SdaiFea_axis2_placement_3d_ptr_c coordinate_system_() const;
        SdaiFea_axis2_placement_3d_ptr   coordinate_system_();
        void coordinate_system_( const SdaiFea_axis2_placement_3d_ptr x );

};

inline SdaiField_variable_element_group_value * create_SdaiField_variable_element_group_value() {
    return new SdaiField_variable_element_group_value;
}

void init_SdaiField_variable_element_group_value(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_field_variable_element_group_value;
    extern AttrDescriptor *a_542group;
    extern AttrDescriptor *a_543simple_value;
    extern AttrDescriptor *a_544variable;
    extern AttrDescriptor *a_545coordinate_system;
}

#endif
