]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
- virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
authoreap <eap@opencascade.com>
Thu, 16 May 2013 16:17:16 +0000 (16:17 +0000)
committereap <eap@opencascade.com>
Thu, 16 May 2013 16:17:16 +0000 (16:17 +0000)
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;

src/SMDS/SMDS_VtkEdge.cxx
src/SMDS/SMDS_VtkEdge.hxx
src/SMDS/SMDS_VtkFace.cxx
src/SMDS/SMDS_VtkFace.hxx
src/SMDS/SMDS_VtkVolume.cxx
src/SMDS/SMDS_VtkVolume.hxx

index 6c70d10fc6261c7ea4d19208c6cb318370bf6d74..0bf0330863600b62a4b76afe24dc26481b50b62c 100644 (file)
@@ -155,18 +155,17 @@ SMDS_ElemIteratorPtr SMDS_VtkEdge::elementsIterator(SMDSAbs_ElementType type) co
     case SMDSAbs_Node:
       return SMDS_ElemIteratorPtr(new SMDS_VtkCellIterator(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
     default:
-      MESSAGE("ERROR : Iterator not implemented")
-      ;
+      MESSAGE("ERROR : Iterator not implemented");
       return SMDS_ElemIteratorPtr((SMDS_ElemIterator*) NULL);
   }
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkEdge::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkEdge::nodesIteratorToUNV() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkEdge::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkEdge::interlacedNodesIterator() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return nodesIteratorToUNV();
 }
index 52cbca51cddb21d35f91a3d156b8128112d81693..3ac9ba0e468af44e08faadfaadd18f75945688f4 100644 (file)
@@ -52,8 +52,8 @@ public:
   virtual bool IsQuadratic() const;
 
   virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
-  virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
 protected:
 };
 #endif
index 5c156bc198e04b6e22c7b718fe9909eacfa333ff..56787bda0c232b07520ca874f95269b23a248763 100644 (file)
@@ -64,6 +64,9 @@ void SMDS_VtkFace::init(const std::vector<vtkIdType>& nodeIds, SMDS_Mesh* mesh)
     case 9:
       aType = VTK_BIQUADRATIC_QUAD;
       break;
+    case 7:
+      aType = VTK_BIQUADRATIC_TRIANGLE;
+      break;
     default:
       aType = VTK_POLYGON;
       break;
@@ -116,6 +119,7 @@ int SMDS_VtkFace::NbEdges() const
   {
     case VTK_TRIANGLE:
     case VTK_QUADRATIC_TRIANGLE:
+    case VTK_BIQUADRATIC_TRIANGLE:
       nbEdges = 3;
       break;
     case VTK_QUAD:
@@ -167,6 +171,7 @@ bool SMDS_VtkFace::IsQuadratic() const
     case VTK_QUADRATIC_TRIANGLE:
     case VTK_QUADRATIC_QUAD:
     case VTK_BIQUADRATIC_QUAD:
+    case VTK_BIQUADRATIC_TRIANGLE:
       return true;
       break;
     default:
@@ -189,6 +194,7 @@ bool SMDS_VtkFace::IsMediumNode(const SMDS_MeshNode* node) const
   switch (aVtkType)
   {
     case VTK_QUADRATIC_TRIANGLE:
+    case VTK_BIQUADRATIC_TRIANGLE:
       rankFirstMedium = 3; // medium nodes are of rank 3,4,5
       break;
     case VTK_QUADRATIC_QUAD:
@@ -245,13 +251,13 @@ SMDSAbs_GeometryType SMDS_VtkFace::GetGeomType() const
   switch ( aVtkType ) {
   case VTK_TRIANGLE:
   case VTK_QUADRATIC_TRIANGLE:
-    return SMDSGeom_TRIANGLE;
+  case VTK_BIQUADRATIC_TRIANGLE: return SMDSGeom_TRIANGLE;
+
   case VTK_QUAD:
   case VTK_QUADRATIC_QUAD:
-  case VTK_BIQUADRATIC_QUAD:
-    return SMDSGeom_QUADRANGLE;
-  case VTK_POLYGON:
-    return SMDSGeom_POLYGON;
+  case VTK_BIQUADRATIC_QUAD: return SMDSGeom_QUADRANGLE;
+
+  case VTK_POLYGON: return SMDSGeom_POLYGON;
   default:;
   }
   return SMDSGeom_NONE;
@@ -277,14 +283,14 @@ SMDS_ElemIteratorPtr SMDS_VtkFace::elementsIterator(SMDSAbs_ElementType type) co
   }
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkFace::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkFace::nodesIteratorToUNV() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkFace::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkFace::interlacedNodesIterator() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return nodesIteratorToUNV();
 }
 
 //! change only the first node, used for temporary triangles in quadrangle to triangle adaptor
index 879e9a75695f19222e865ff1bf5257e0a2a970ad..5fc10324db3b5b79c2bb0860747cab46eb26967b 100644 (file)
@@ -54,8 +54,8 @@ public:
   virtual int  NbCornerNodes() const;
 
   virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
-  virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
 protected:
 };
 
index 3df1e1b35304d733154997038573be84ce36251a..7e66a83c8bda851a290415226c788c4c5093c18e 100644 (file)
@@ -404,14 +404,14 @@ SMDS_ElemIteratorPtr SMDS_VtkVolume::elementsIterator(SMDSAbs_ElementType type)
   }
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkVolume::nodesIteratorToUNV() const
+SMDS_NodeIteratorPtr SMDS_VtkVolume::nodesIteratorToUNV() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
 }
 
-SMDS_ElemIteratorPtr SMDS_VtkVolume::interlacedNodesElemIterator() const
+SMDS_NodeIteratorPtr SMDS_VtkVolume::interlacedNodesIterator() const
 {
-  return SMDS_ElemIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
+  return SMDS_NodeIteratorPtr(new SMDS_VtkCellIteratorToUNV(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType()));
 }
 
 SMDSAbs_ElementType SMDS_VtkVolume::GetType() const
index 66d9f81c2016cf552c39360300cb371c399ddf03..63c41ecb717c82c4bb48eb69e430cb70db53479f 100644 (file)
@@ -70,8 +70,8 @@ public:
   std::vector<int> GetQuantities() const;
 
   virtual SMDS_ElemIteratorPtr elementsIterator(SMDSAbs_ElementType type) const;
-  virtual SMDS_ElemIteratorPtr nodesIteratorToUNV() const;
-  virtual SMDS_ElemIteratorPtr interlacedNodesElemIterator() const;
+  virtual SMDS_NodeIteratorPtr nodesIteratorToUNV() const;
+  virtual SMDS_NodeIteratorPtr interlacedNodesIterator() const;
 
 protected:
 };