Salome HOME
Intersect2DMeshWith1DLine: bug fix (collinear edges not always detected)
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingVoronoi.hxx
index 06dc32180510b7f79a1a271390664a1a62f36d09..6806f3e33b896425f98f21e6d3252e6c86d05a1d 100644 (file)
@@ -1,4 +1,4 @@
-// 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