#ifndef  ENTITY_SDAISURFACE_2D_SUBSTRUCTURE_ELEMENT_REFERENCE_H
#define  ENTITY_SDAISURFACE_2D_SUBSTRUCTURE_ELEMENT_REFERENCE_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_substructure_element_reference : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _substructure_element_ref = NULL;
        SdaiSurface_2d_element_representation _element_ref;
    public: 
        SdaiSurface_2d_substructure_element_reference();
        SdaiSurface_2d_substructure_element_reference( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiSurface_2d_substructure_element_reference( SdaiSurface_2d_substructure_element_reference & e );
        ~SdaiSurface_2d_substructure_element_reference();
        int opcode() {
            return 988;
        }
        SdaiSubstructure_element_representation_ptr_c substructure_element_ref_() const;
        SdaiSubstructure_element_representation_ptr   substructure_element_ref_();
        void substructure_element_ref_( const SdaiSubstructure_element_representation_ptr x );

        SdaiSurface_2d_element_representation_ptr_c element_ref_() const;
        SdaiSurface_2d_element_representation_ptr   element_ref_();
        void element_ref_( const SdaiSurface_2d_element_representation_ptr x );

};

inline SdaiSurface_2d_substructure_element_reference * create_SdaiSurface_2d_substructure_element_reference() {
    return new SdaiSurface_2d_substructure_element_reference;
}

void init_SdaiSurface_2d_substructure_element_reference(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_surface_2d_substructure_element_reference;
    extern AttrDescriptor *a_1446substructure_element_ref;
    extern AttrDescriptor *a_1447element_ref;
}

#endif
