// nUtil - An utility Library for gnurbs
// Copyright (C) 2008-2026 Eric Bechet
//
// See the LICENSE file for contributions and license information.
// Please report all bugs and problems to <bechet@cadxfem.org>.
//


#ifndef __NDISPLAY_BASE_H
#define __NDISPLAY_BASE_H

#include "npoint.h"
#include "ndata.h"

class ndisplay_base
{

public:
  ndisplay_base(color c=color(25, 51, 102,255),char *nom=NULL){} // constructor
  virtual ~ndisplay_base(){} // destructor
  virtual void init_data(data_container &data) =0;   // all
  virtual void init_data_vertices(data_container & data)=0;    //only vertices
  virtual void init_data_lines(data_container & data)=0;    // only lines
  virtual void init_data_triangles(data_container & data)=0;    // only triangles
  virtual void init_data_quads(data_container & data)=0;    // only quads
  virtual void init_data_textes(data_container & data)=0;
  virtual void display(bool perspectiveon=0)=0;   // display loop
  virtual void save(const char *fname="default.d3d"){};
};

#endif // __NDISPLAY_BASE_H
