#ifndef  ENTITY_SDAIPLANE_SURFACE_2D_ELEMENT_REPRESENTATION_H
#define  ENTITY_SDAIPLANE_SURFACE_2D_ELEMENT_REPRESENTATION_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 SdaiPlane_surface_2d_element_representation : public SdaiElement_representation {
     protected:
        SDAI_Application_instance_ptr _model_ref = NULL;
        SDAI_Application_instance_ptr _element_descriptor = NULL;
        SDAI_Application_instance_ptr _property = NULL;
        SDAI_Application_instance_ptr _depth_property = NULL;
        SDAI_Application_instance_ptr _material = NULL;
    public: 
        SdaiPlane_surface_2d_element_representation();
        SdaiPlane_surface_2d_element_representation( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiPlane_surface_2d_element_representation( SdaiPlane_surface_2d_element_representation & e );
        ~SdaiPlane_surface_2d_element_representation();
        int opcode() {
            return 348;
        }
        SdaiFea_model_2d_ptr_c model_ref_() const;
        SdaiFea_model_2d_ptr   model_ref_();
        void model_ref_( const SdaiFea_model_2d_ptr x );

        SdaiPlane_surface_2d_element_descriptor_ptr_c element_descriptor_() const;
        SdaiPlane_surface_2d_element_descriptor_ptr   element_descriptor_();
        void element_descriptor_( const SdaiPlane_surface_2d_element_descriptor_ptr x );

        SdaiSurface_element_property_ptr_c property_() const;
        SdaiSurface_element_property_ptr   property_();
        void property_( const SdaiSurface_element_property_ptr x );

        SdaiPlane_2d_element_property_ptr_c depth_property_() const;
        SdaiPlane_2d_element_property_ptr   depth_property_();
        void depth_property_( const SdaiPlane_2d_element_property_ptr x );

        SdaiElement_material_ptr_c material_() const;
        SdaiElement_material_ptr   material_();
        void material_( const SdaiElement_material_ptr x );

};

inline SdaiPlane_surface_2d_element_representation * create_SdaiPlane_surface_2d_element_representation() {
    return new SdaiPlane_surface_2d_element_representation;
}

void init_SdaiPlane_surface_2d_element_representation(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_plane_surface_2d_element_representation;
    extern AttrDescriptor *a_527model_ref;
    extern AttrDescriptor *a_528element_descriptor;
    extern AttrDescriptor *a_529property;
    extern AttrDescriptor *a_530depth_property;
    extern AttrDescriptor *a_531material;
}

#endif
