#ifndef  ENTITY_SDAIMBNA_ZONE_H
#define  ENTITY_SDAIMBNA_ZONE_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 SdaiMbna_zone : public SdaiModel_product_domain_with_mesh {
     protected:
        EntityAggregate_ptr _conditions = NULL;          //  of  mbna_zone_bc

        EntityAggregate_ptr _equations = NULL;          //  of  mbna_equation_set

        SDAI_Application_instance_ptr _grid_connectivity = NULL;    //  OPTIONAL
        EntityAggregate_ptr _rstate = NULL;          //  of  mbna_reference_state

    public: 
        SdaiMbna_zone();
        SdaiMbna_zone( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiMbna_zone( SdaiMbna_zone & e );
        ~SdaiMbna_zone();
        int opcode() {
            return 251;
        }
        EntityAggregate_ptr_c conditions_() const;
        EntityAggregate_ptr   conditions_();
        void conditions_( const EntityAggregate_ptr x );

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

        SdaiMultiple_mesh_block_ptr_c grid_connectivity_() const;
        SdaiMultiple_mesh_block_ptr   grid_connectivity_();
        void grid_connectivity_( const SdaiMultiple_mesh_block_ptr x );

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

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

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

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

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

};

inline SdaiMbna_zone * create_SdaiMbna_zone() {
    return new SdaiMbna_zone;
}

void init_SdaiMbna_zone(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_mbna_zone;
    extern AttrDescriptor *a_377conditions;
    extern AttrDescriptor *a_378equations;
    extern AttrDescriptor *a_379grid_connectivity;
    extern AttrDescriptor *a_380rstate;
    extern Inverse_attribute *a_381Icoordinates;
    extern Inverse_attribute *a_382Ifield_data;
    extern Inverse_attribute *a_383Ihistory;
    extern Inverse_attribute *a_384Isolution;
}

#endif
