#ifndef  ENTITY_SDAITESSELLATED_EDGE_H
#define  ENTITY_SDAITESSELLATED_EDGE_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 SdaiTessellated_edge : public SdaiTessellated_structured_item {
     protected:
        SDAI_Application_instance_ptr _coordinates = NULL;
        SdaiEdge_or_curve _geometric_link;    //  OPTIONAL
        IntAggregate_ptr _line_strip = NULL;
    public: 
        SdaiTessellated_edge();
        SdaiTessellated_edge( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiTessellated_edge( SdaiTessellated_edge & e );
        ~SdaiTessellated_edge();
        int opcode() {
            return 445;
        }
        SdaiCoordinates_list_ptr_c coordinates_() const;
        SdaiCoordinates_list_ptr   coordinates_();
        void coordinates_( const SdaiCoordinates_list_ptr x );

        SdaiEdge_or_curve_ptr_c geometric_link_() const;
        SdaiEdge_or_curve_ptr   geometric_link_();
        void geometric_link_( const SdaiEdge_or_curve_ptr x );

        IntAggregate_ptr_c line_strip_() const;
        IntAggregate_ptr   line_strip_();
        void line_strip_( const IntAggregate_ptr x );

};

inline SdaiTessellated_edge * create_SdaiTessellated_edge() {
    return new SdaiTessellated_edge;
}

void init_SdaiTessellated_edge(Registry& reg);

namespace ap242_managed_model_based_3d_engineering_mim_lf {
    extern EntityDescriptor *e_tessellated_edge;
    extern AttrDescriptor *a_627coordinates;
    extern AttrDescriptor *a_628geometric_link;
    extern AttrDescriptor *a_629line_strip;
}

#endif
