class EdgeModeler extends Modeler {

    public EdgeModeler(CompatibilityEngine engine) {
        super(engine);
    }

    public EdgeModel initModel(Edge edge, NodeModel sourceModel, NodeModel targetModelImpl) {<FILL_FUNCTION_BODY>}

    @Override
    public void beforeDisplay(GL2 gl, GLU glu) {
        gl.glBegin(GL2.GL_TRIANGLES);
    }

    @Override
    public void afterDisplay(GL2 gl, GLU glu) {
        gl.glEnd();
    }

    @Override
    public void chooseModel(Model obj) {
        throw new UnsupportedOperationException("Not supported.");
    }

    @Override
    public int initDisplayLists(GL2 gl, GLU glu, GLUquadric quadric, int ptr) {
        return ptr;
    }

    public boolean isLod() {
        return false;
    }

    public boolean isSelectable() {
        return true;
    }

    public boolean isClickable() {
        return false;
    }

    public boolean isOnlyAutoSelect() {
        return true;
    }
}


        EdgeModel edgeModel;
        if (edge.isSelfLoop()) {
            edgeModel = new SelfLoopModel(edge, sourceModel);
        } else {
            edgeModel = new Edge2dModel(edge, sourceModel, targetModelImpl);
        }

        return edgeModel;
    
<methods>public void <init>(org.gephi.visualization.opengl.CompatibilityEngine) ,public abstract void afterDisplay(GL2, GLU) ,public abstract void beforeDisplay(GL2, GLU) ,public abstract void chooseModel(org.gephi.visualization.model.Model) ,public abstract int initDisplayLists(GL2, GLU, GLUquadric, int) ,public boolean isEnabled() ,public void setEnabled(boolean) <variables>protected final non-sealed org.gephi.visualization.apiimpl.VizConfig config,protected final non-sealed org.gephi.visualization.VizController controller,protected final non-sealed org.gephi.visualization.apiimpl.GraphDrawable drawable,protected boolean enabled,protected final non-sealed org.gephi.visualization.opengl.CompatibilityEngine engine