X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMDS%2FSMDS_VtkVolume.cxx;h=f97e31969e2b531b2d7091d7fae5d53b0ac1bd88;hp=22f5de67ed250c3a277dd5828ff649fafc806598;hb=4edb4666f465956c76c5b41ec9c8fc582dbea64a;hpb=6ae2a9da945b425168ef891ac249fafb2ef71a9a diff --git a/src/SMDS/SMDS_VtkVolume.cxx b/src/SMDS/SMDS_VtkVolume.cxx index 22f5de67e..f97e31969 100644 --- a/src/SMDS/SMDS_VtkVolume.cxx +++ b/src/SMDS/SMDS_VtkVolume.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2010-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2010-2014 CEA/DEN, EDF R&D, OPEN CASCADE // // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -462,14 +462,13 @@ int SMDS_VtkVolume::GetNodeIndex( const SMDS_MeshNode* node ) const vtkIdType nFaces = 0; vtkIdType* ptIds = 0; grid->GetFaceStream(this->myVtkID, nFaces, ptIds); - int id = 0, nbPoints = 0; + int id = 0; for (int iF = 0; iF < nFaces; iF++) { int nodesInFace = ptIds[id]; for ( vtkIdType i = 0; i < nodesInFace; ++i ) - if ( ptIds[id+i] == node->getVtkId() ) + if ( ptIds[id+i+1] == node->getVtkId() ) return id+i-iF; - nbPoints += nodesInFace; id += (nodesInFace + 1); } return -1; @@ -558,7 +557,6 @@ bool SMDS_VtkVolume::IsMediumNode(const SMDS_MeshNode* node) const int SMDS_VtkVolume::NbCornerNodes() const { vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid(); - int nbN = grid->GetCell(myVtkID)->GetNumberOfPoints(); vtkIdType aVtkType = grid->GetCellType(myVtkID); switch (aVtkType) { @@ -569,7 +567,7 @@ int SMDS_VtkVolume::NbCornerNodes() const case VTK_TRIQUADRATIC_HEXAHEDRON: return 8; default:; } - return nbN; + return NbNodes(); } SMDSAbs_EntityType SMDS_VtkVolume::GetEntityType() const @@ -721,6 +719,6 @@ int SMDS_VtkVolume::NbUniqueNodes() const */ SMDS_ElemIteratorPtr SMDS_VtkVolume::uniqueNodesIterator() const { - MESSAGE("uniqueNodesIterator"); + //MESSAGE("uniqueNodesIterator"); return SMDS_ElemIteratorPtr(new SMDS_VtkCellIterator(SMDS_Mesh::_meshList[myMeshId], myVtkID, GetEntityType())); }