Back to index

salome-smesh  6.5.0
Public Member Functions | Private Attributes
SMDS_MeshNode_MyIterator Class Reference
Inheritance diagram for SMDS_MeshNode_MyIterator:
Inheritance graph
[legend]
Collaboration diagram for SMDS_MeshNode_MyIterator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SMDS_MeshNode_MyIterator (SMDS_Mesh *mesh, vtkIdType *cells, int ncells, SMDSAbs_ElementType type)
bool more ()
 Return true if and only if there are other object in this iterator.
const SMDS_MeshElement * next ()
 Return the current object and step to the next one.
virtual void remove ()
 Delete the current element and step to the next one.

Private Attributes

SMDS_Mesh * myMesh
vtkIdType * myCells
int myNcells
SMDSAbs_ElementType myType
int iter
vector< SMDS_MeshElement * > myFiltCells

Detailed Description

Definition at line 206 of file SMDS_MeshNode.cxx.


Constructor & Destructor Documentation

SMDS_MeshNode_MyIterator::SMDS_MeshNode_MyIterator ( SMDS_Mesh *  mesh,
vtkIdType *  cells,
int  ncells,
SMDSAbs_ElementType  type 
) [inline]

Definition at line 217 of file SMDS_MeshNode.cxx.

                                                    :
    myMesh(mesh), myCells(cells), myNcells(ncells), myType(type), iter(0)
  {
        //MESSAGE("myNcells " << myNcells);
       for (; iter<ncells; iter++)
        {
           int vtkId = myCells[iter];
           int smdsId = myMesh->fromVtkToSmds(vtkId);
           //MESSAGE("vtkId " << vtkId << " smdsId " << smdsId);
           const SMDS_MeshElement* elem = myMesh->FindElement(smdsId);
           if (elem->GetType() == type)
               myFiltCells.push_back((SMDS_MeshElement*)elem);
        }
        myNcells = myFiltCells.size();
        //MESSAGE("myNcells " << myNcells);
       iter = 0;
        //MESSAGE("SMDS_MeshNode_MyIterator (filter) " << ncells << " " << myNcells);
  }

Member Function Documentation

bool SMDS_MeshNode_MyIterator::more ( ) [inline, virtual]

Return true if and only if there are other object in this iterator.

Implements SMDS_Iterator< const SMDS_MeshElement * >.

Definition at line 239 of file SMDS_MeshNode.cxx.

  {
      return (iter< myNcells);
  }
const SMDS_MeshElement* SMDS_MeshNode_MyIterator::next ( ) [inline, virtual]

Return the current object and step to the next one.

Implements SMDS_Iterator< const SMDS_MeshElement * >.

Definition at line 244 of file SMDS_MeshNode.cxx.

  {
      const SMDS_MeshElement* elem = myFiltCells[iter];
      iter++;
      return elem;
  }
virtual void SMDS_Iterator< const SMDS_MeshElement * >::remove ( ) [inline, virtual, inherited]

Delete the current element and step to the next one.

Definition at line 44 of file SMDS_Iterator.hxx.

{}

Member Data Documentation

Definition at line 213 of file SMDS_MeshNode.cxx.

vtkIdType* SMDS_MeshNode_MyIterator::myCells [private]

Definition at line 210 of file SMDS_MeshNode.cxx.

vector<SMDS_MeshElement*> SMDS_MeshNode_MyIterator::myFiltCells [private]

Definition at line 214 of file SMDS_MeshNode.cxx.

SMDS_Mesh* SMDS_MeshNode_MyIterator::myMesh [private]

Definition at line 209 of file SMDS_MeshNode.cxx.

Definition at line 211 of file SMDS_MeshNode.cxx.

Definition at line 212 of file SMDS_MeshNode.cxx.


The documentation for this class was generated from the following file: