]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
MEDMEM Industrialization 2008
authoreap <eap@opencascade.com>
Wed, 17 Dec 2008 13:39:08 +0000 (13:39 +0000)
committereap <eap@opencascade.com>
Wed, 17 Dec 2008 13:39:08 +0000 (13:39 +0000)
+                          double* baryCentre=0);

src/INTERP_KERNEL/Geometric2DIntersector.hxx
src/INTERP_KERNEL/Geometric2DIntersector.txx
src/INTERP_KERNEL/IntersectorHexa.hxx
src/INTERP_KERNEL/IntersectorHexa.txx

index c4d12ee9c3fa7164fa6a02aa9d11b818f32eaf30..3fd86f96aaf8eb651f0eb773b42fb9a0a8cb6ba2 100644 (file)
@@ -1,3 +1,21 @@
+//  Copyright (C) 2007-2008  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
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 #ifndef __GEOMETRIC2DINTERSECTOR_HXX__
 #define __GEOMETRIC2DINTERSECTOR_HXX__
 
@@ -18,7 +36,8 @@ namespace INTERP_KERNEL
   public:
     Geometric2DIntersector(const MyMeshType& mesh_A, const MyMeshType& mesh_B,
                            double dimCaracteristic, double precision);
-    double intersectCells(ConnType icell_A, ConnType icell_B, int nb_NodesA, int nb_NodesB);
+    double intersectCells(ConnType icell_A, ConnType icell_B, int nb_NodesA, int nb_NodesB,
+                          double* baryCentre=0);
   private:
     QuadraticPolygon *buildPolygonAFrom(ConnType cell, int nbOfPoints, NormalizedCellType type);
     QuadraticPolygon *buildPolygonBFrom(ConnType cell, int nbOfPoints, NormalizedCellType type);
index 7f25cb541f955a3c3e29de4181698899efae93d2..6b0b3bf127997f7e92a1ba86da7bf2a992c01953 100644 (file)
@@ -1,3 +1,21 @@
+//  Copyright (C) 2007-2008  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
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 #ifndef __GEOMETRIC2DINTERSECTOR_TXX__
 #define __GEOMETRIC2DINTERSECTOR_TXX__
 
@@ -30,10 +48,11 @@ namespace INTERP_KERNEL
   
   template<class MyMeshType>
   double Geometric2DIntersector<MyMeshType>::intersectCells(ConnType icell_A, ConnType icell_B, 
-                                                            int nb_NodesA, int nb_NodesB)
+                                                            int nb_NodesA, int nb_NodesB,
+                                                            double* /*baryCentre*/)
   {
     NormalizedCellType tA=_meshA.getTypeOfElement(icell_A);
-    NormalizedCellType tB=_meshA.getTypeOfElement(icell_B);
+    NormalizedCellType tB=_meshB.getTypeOfElement(icell_B);
     QuadraticPolygon *p1=buildPolygonAFrom(icell_A,nb_NodesA,tA);
     QuadraticPolygon *p2=buildPolygonBFrom(icell_B,nb_NodesB,tB);
     double ret=p1->intersectWith(*p2);
index 8e96eeb3688607ef353c423c5eb72d49b9b4ec05..3a0725ca4dd5f7878e1198ca89b12cbc9bbd3c29 100644 (file)
@@ -1,3 +1,21 @@
+//  Copyright (C) 2007-2008  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
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 #ifndef __INTERSECTORHEXA_HXX__
 #define __INTERSECTORHEXA_HXX__
 
@@ -26,7 +44,7 @@ namespace INTERP_KERNEL
 
     ~IntersectorHexa();
 
-    virtual double intersectSourceCell(typename MyMeshType::MyConnType srcCell);
+    virtual double intersectSourceCell(typename MyMeshType::MyConnType srcCell, double* baryCentre=0);
 
   private:
 
index e671b13188eec5c67908ca56ccab9a186d602bee..b62ea76f7202acd0b67090cc7522f3e13d459216 100644 (file)
@@ -1,3 +1,21 @@
+//  Copyright (C) 2007-2008  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
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 #ifndef __INTERSECTORHEXA_TXX__
 #define __INTERSECTORHEXA_TXX__
 
@@ -386,11 +404,12 @@ namespace INTERP_KERNEL
    *
    */
   template<class MyMeshType>
-  double IntersectorHexa<MyMeshType>::intersectSourceCell(typename MyMeshType::MyConnType srcCell)
+  double IntersectorHexa<MyMeshType>::intersectSourceCell(typename MyMeshType::MyConnType srcCell,
+                                                          double* baryCentre)
   {
     double volume = 0.0;
     for(typename std::vector<IntersectorTetra<MyMeshType>*>::iterator iter = _tetra.begin(); iter != _tetra.end(); ++iter)
-      volume += (*iter)->intersectSourceCell(srcCell);
+      volume += (*iter)->intersectSourceCell(srcCell, baryCentre);
     return volume;
   }
 }