#ifndef D4MINBOUNDARY_H
#define D4MINDOUNDARY_H

#include <d4minoperator.h>

#include <d4tess.h>

class d4minboundary : public d4minoperator
{
public:

  d4minboundary(d4tess & _tess);

  bool const eval(uintc a, uintc b);

};


class d4mingreedy: public d4minoperator
{
public:

  d4mingreedy(d4tess & _tess)
    : d4minoperator(_tess) {} 

  bool const eval(uintc a, uintc b)
    { return tess.tet2to3_(a,b); }

};

class d4mingreedy2: public d4minoperator
{
public:

  d4mingreedy2(d4tess & _tess)
    : d4minoperator(_tess) {} 

  bool const eval(uintc a, uintc b);

private:
  double dist(uintc a, uintc b) const
  { 
    point3<double> p(tess.pt[a]-tess.pt[b]);
    return p.distance();
  }

};


#endif




