-// Copyright (C) 2007-2017 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "MEDCouplingUMesh.hxx"
namespace MEDCoupling
-{
- MCAuto<MEDCouplingUMesh> Voronoize2D(const MEDCouplingUMesh *m, const DataArrayDouble *points, double eps);
+{
+ class Voronizer
+ {
+ public:
+ virtual MCAuto<MEDCouplingUMesh> doIt(const MEDCouplingUMesh *m, const DataArrayDouble *points, double eps) const = 0;
+ virtual int getDimension() const = 0;
+ virtual ~Voronizer();
+ };
+
+ class Voronizer1D : public Voronizer
+ {
+ public:
+ MCAuto<MEDCouplingUMesh> doIt(const MEDCouplingUMesh *m, const DataArrayDouble *points, double eps) const;
+ int getDimension() const;
+ };
+
+ class Voronizer2D : public Voronizer
+ {
+ public:
+ MCAuto<MEDCouplingUMesh> doIt(const MEDCouplingUMesh *m, const DataArrayDouble *points, double eps) const;
+ int getDimension() const;
+ };
+
+ class Voronizer3D : public Voronizer
+ {
+ public:
+ MCAuto<MEDCouplingUMesh> doIt(const MEDCouplingUMesh *m, const DataArrayDouble *points, double eps) const;
+ int getDimension() const;
+ };
}
#endif