From: eap Date: Wed, 28 Feb 2007 15:00:19 +0000 (+0000) Subject: PAL13460 (PAL EDF 301 force the mesh to go through a point) X-Git-Tag: V3_2_6a1~24 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=6e1697da177b2ca532b6b7a6dbcad623c6fc244b;p=modules%2Fsmesh.git PAL13460 (PAL EDF 301 force the mesh to go through a point) get only unique nodes of SMDS_PolyhedralVolumeOfNodes --- diff --git a/src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx b/src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx index b9554e306..cf05c1962 100644 --- a/src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx +++ b/src/DriverUNV/DriverUNV_W_SMDS_Mesh.cxx @@ -22,10 +22,10 @@ #include "DriverUNV_W_SMDS_Mesh.h" #include "SMDS_Mesh.hxx" -#include "SMESHDS_GroupBase.hxx" -//#include "SMESH_Group.hxx" #include "SMDS_QuadraticEdge.hxx" #include "SMDS_QuadraticFaceOfNodes.hxx" +#include "SMDS_PolyhedralVolumeOfNodes.hxx" +#include "SMESHDS_GroupBase.hxx" #include "utilities.h" @@ -158,9 +158,16 @@ Driver_Mesh::Status DriverUNV_W_SMDS_Mesh::Perform() TElementLab aLabel = anElem->GetID(); int aNbNodes = anElem->NbNodes(); - aConnect.resize(aNbNodes); - SMDS_ElemIteratorPtr aNodesIter = anElem->nodesIterator(); + if ( anElem->IsPoly() ) { + if ( const SMDS_PolyhedralVolumeOfNodes* ph = + dynamic_cast (anElem)) + { + aNbNodes = ph->NbUniqueNodes(); + aNodesIter = ph->uniqueNodesIterator(); + } + } + aConnect.resize(aNbNodes); GetConnect(aNodesIter,aConnect); int anId = -1;