X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMDS%2FSMDS_VtkCellIterator.hxx;h=683f678a225f3ff90c827a0f5047b7e88e1c47bd;hp=2a974a4b56d5fc41d8614a4eb10f4bea7ac4ddff;hb=0fc0831670e27a5611b941c52dc152fd63964515;hpb=385d4cede5f752d0eec26c306f3b5e14511e2a3d diff --git a/src/SMDS/SMDS_VtkCellIterator.hxx b/src/SMDS/SMDS_VtkCellIterator.hxx index 2a974a4b5..683f678a2 100644 --- a/src/SMDS/SMDS_VtkCellIterator.hxx +++ b/src/SMDS/SMDS_VtkCellIterator.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2010-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2010-2020 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 @@ -25,7 +25,8 @@ #include "SMDSAbs_ElementType.hxx" #include -#include + +typedef std::vector< vtkIdType > TVtkIdList; //-------------------------------------------------------------------------------- /*! @@ -33,15 +34,15 @@ */ struct _GetVtkNodes { - _GetVtkNodes( vtkIdList* nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); + _GetVtkNodes( TVtkIdList& nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); }; struct _GetVtkNodesToUNV { - _GetVtkNodesToUNV( vtkIdList* nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); + _GetVtkNodesToUNV( TVtkIdList& nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); }; struct _GetVtkNodesPolyh { - _GetVtkNodesPolyh( vtkIdList* nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); + _GetVtkNodesPolyh( TVtkIdList& nodeIds, SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType type); }; //-------------------------------------------------------------------------------- @@ -55,20 +56,20 @@ public: typedef typename SMDS_ITERATOR::value_type result_type; SMDS_VtkCellIterator(SMDS_Mesh* mesh, int vtkCellId, SMDSAbs_EntityType aType) - : _mesh(mesh), _index(0), _vtkIdList( vtkIdList::New() ) + : _mesh(mesh), _index(0) { GET_VTK_NODES getNodes( _vtkIdList, mesh, vtkCellId, aType ); } - virtual ~SMDS_VtkCellIterator() { _vtkIdList->Delete(); } - virtual bool more() { return ( _index < _vtkIdList->GetNumberOfIds() ); } + virtual ~SMDS_VtkCellIterator() {} + virtual bool more() { return ( _index < _vtkIdList.size() ); } virtual result_type next() { - vtkIdType id = _vtkIdList->GetId( _index++ ); + vtkIdType id = _vtkIdList[ _index++ ]; return static_cast( _mesh->FindNodeVtk( id )); } protected: SMDS_Mesh* _mesh; - int _index; - vtkIdList* _vtkIdList; + size_t _index; + TVtkIdList _vtkIdList; }; //--------------------------------------------------------------------------------