#ifndef  ENTITY_SDAICURVE_3D_SUBSTRUCTURE_ELEMENT_REFERENCE_H
#define  ENTITY_SDAICURVE_3D_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 SdaiCurve_3d_substructure_element_reference : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _substructure_element_ref = NULL;
        SDAI_Application_instance_ptr _element_ref = NULL;
    public: 
        SdaiCurve_3d_substructure_element_reference();
        SdaiCurve_3d_substructure_element_reference( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiCurve_3d_substructure_element_reference( SdaiCurve_3d_substructure_element_reference & e );
        ~SdaiCurve_3d_substructure_element_reference();
        int opcode() {
            return 2050;
        }
        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 );

        SdaiCurve_3d_element_representation_ptr_c element_ref_() const;
        SdaiCurve_3d_element_representation_ptr   element_ref_();
        void element_ref_( const SdaiCurve_3d_element_representation_ptr x );

};

inline SdaiCurve_3d_substructure_element_reference * create_SdaiCurve_3d_substructure_element_reference() {
    return new SdaiCurve_3d_substructure_element_reference;
}

void init_SdaiCurve_3d_substructure_element_reference(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_curve_3d_substructure_element_reference;
    extern AttrDescriptor *a_3082substructure_element_ref;
    extern AttrDescriptor *a_3083element_ref;
}

#endif
