From 998c774c5d067c950db95f69c36b649d63ad763d Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 16 May 2013 16:49:03 +0000 Subject: [PATCH] 0022100: EDF 2413 SMESH: Take into account TRIA7 + CORBA::Long NbBiQuadTriangles() --- src/SMESH_I/SMESH_Mesh_i.cxx | 11 ++++++++++- src/SMESH_I/SMESH_Mesh_i.hxx | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/SMESH_I/SMESH_Mesh_i.cxx b/src/SMESH_I/SMESH_Mesh_i.cxx index e68c56042..4c48e31e1 100644 --- a/src/SMESH_I/SMESH_Mesh_i.cxx +++ b/src/SMESH_I/SMESH_Mesh_i.cxx @@ -3088,6 +3088,15 @@ CORBA::Long SMESH_Mesh_i::NbTriangles()throw(SALOME::SALOME_Exception) return _impl->NbTriangles(); } +CORBA::Long SMESH_Mesh_i::NbBiQuadTriangles()throw(SALOME::SALOME_Exception) +{ + Unexpect aCatch(SALOME_SalomeException); + if ( _preMeshInfo ) + return _preMeshInfo->NbBiQuadTriangles(); + + return _impl->NbBiQuadTriangles(); +} + CORBA::Long SMESH_Mesh_i::NbQuadrangles()throw(SALOME::SALOME_Exception) { Unexpect aCatch(SALOME_SalomeException); @@ -4021,7 +4030,7 @@ CORBA::Long SMESH_Mesh_i::FindElementByNodes(const SMESH::long_array& nodes) if ( !( nn[i] = mesh->FindNode( nodes[i] ))) return elemID; - const SMDS_MeshElement* elem = mesh->FindElement( nn ); + const SMDS_MeshElement* elem = mesh->FindElement( nn, SMDSAbs_All, /*noMedium=*/false ); if ( !elem && ( _impl->NbEdges ( ORDER_QUADRATIC ) || _impl->NbFaces ( ORDER_QUADRATIC ) || _impl->NbVolumes( ORDER_QUADRATIC ))) diff --git a/src/SMESH_I/SMESH_Mesh_i.hxx b/src/SMESH_I/SMESH_Mesh_i.hxx index 3d4ca1377..6bb0a59b4 100644 --- a/src/SMESH_I/SMESH_Mesh_i.hxx +++ b/src/SMESH_I/SMESH_Mesh_i.hxx @@ -294,6 +294,9 @@ public: CORBA::Long NbTrianglesOfOrder(SMESH::ElementOrder order) throw (SALOME::SALOME_Exception); + CORBA::Long NbBiQuadTriangles() + throw (SALOME::SALOME_Exception); + CORBA::Long NbQuadrangles() throw (SALOME::SALOME_Exception); -- 2.39.2