/* $Id: feplot.h,v 1.2 1996/10/04 15:06:48 roitzsch Exp $ */

#ifndef FEPLOT_H
#define FEPLOT_H

#include "plot.h"
#include "mzibutil.h"
#include "kvector.h"

class MESH;

//-------------------------------------------------------------------------


class FEPlot
{
  public:

    Plot* plot;
    
    FEPlot()          { plot = 0; }
    virtual ~FEPlot() { delete plot; }

    virtual void updateMesh(MESH* t) = 0;

    virtual void clear() { plot->clear(); }
    virtual void flush() { plot->flush(); }

    virtual void plotSolution(Vector<Real>& x) = 0;
    virtual void plotElements() = 0;

    virtual void plotPointNodes() { }
    virtual void plotEdgeNodes()  { }
    virtual void plotTriangleNodes() { }
    virtual void plot3D(Vector<Real>& /*x*/) { }
    virtual void plotBoundary()  { }
};

#endif

