Salome HOME
typo-fix by Kunda
[tools/medcoupling.git] / src / INTERP_KERNEL / Geometric2D / InterpKernelGeo2DEdge.hxx
index 857aa9f42eb7b50b7eae5ed1444530381c0e393e..43eed2a8727c519d5f58b26da8a5beebb160cef4 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  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
@@ -82,6 +82,9 @@ namespace INTERP_KERNEL
     bool isEnd2(unsigned rk) const;
     void clear();
     unsigned getNumberOfAssociations() const;
+    void updateMergedNodes(int e1Start, int e1End, int e2Start, int e2End, std::map<int,int>& mergedNodes);
+  private:
+    static void PushInMap(int key, int value, std::map<int,int>& mergedNodes);
   private:
     unsigned _ass1Start1  : 1;
     unsigned _ass1End1    : 1;
@@ -143,7 +146,7 @@ namespace INTERP_KERNEL
   class INTERPKERNEL_EXPORT EdgeIntersector
   {
   protected:
-    //! All non symetric methods are relative to 'e1'.
+    //! All non symmetric methods are relative to 'e1'.
     EdgeIntersector(const Edge& e1, const Edge& e2):_e1(e1),_e2(e2) { }
   public:
     virtual ~EdgeIntersector() { }
@@ -245,7 +248,10 @@ namespace INTERP_KERNEL
     virtual double getCurveLength() const = 0;
     virtual void getBarycenter(double *bary) const = 0;
     virtual void getBarycenterOfZone(double *bary) const = 0;
+    //! return the middle of two points
     virtual void getMiddleOfPoints(const double *p1, const double *p2, double *mid) const = 0;
+    //! return the middle of two points respecting the orientation defined by this (relevant for arc of circle). By default same as getMiddleOfPoints()
+    virtual void getMiddleOfPointsOriented(const double *p1, const double *p2, double *mid) const;
     //! Retrieves a point that is owning to this, well placed for IN/OUT detection of this. Typically midlle of this is returned.
     virtual Node *buildRepresentantOfMySelf() const = 0;
     //! Given a magnitude specified by sub-type returns if in or not. See getCharactValue method.