#include <iterator_libmesh.h>
Inheritance diagram for IteratorElemsLibMesh< Dim >:


Public Member Functions | |
| RefElemLibMesh< Dim > & | GetFirst () |
| get first element of attached contener | |
| RefElemLibMesh< Dim > & | GetNext () |
| get next element in the course | |
| IteratorElemsLibMesh (Contener< RefElemLibMesh< Dim >, Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > > > &c) | |
| ~IteratorElemsLibMesh () | |
Private Attributes | |
| MeshBase::const_element_iterator * | current |
| internal libmesh course object for elements | |
| RefElemLibMesh< Dim > | elem |
| reference to the current element in course | |
| MeshBase::const_element_iterator * | end_el |
| internal libmesh course object for last element | |
Definition at line 52 of file iterator_libmesh.h.
| IteratorElemsLibMesh< Dim >::IteratorElemsLibMesh | ( | Contener< RefElemLibMesh< Dim >, Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > > > & | c | ) | [inline] |
Definition at line 52 of file iterator_libmesh.cpp.
References IteratorElemsLibMesh< Dim >::current, and IteratorElemsLibMesh< Dim >::end_el.
00054 : 00055 Iterator<RefElemLibMesh<Dim>,IteratorElemsLibMesh<Dim> >(c) 00056 { 00057 current = NULL; 00058 end_el = NULL; 00059 }
| IteratorElemsLibMesh< Dim >::~IteratorElemsLibMesh | ( | ) | [inline] |
Definition at line 62 of file iterator_libmesh.cpp.
References IteratorElemsLibMesh< Dim >::current, and IteratorElemsLibMesh< Dim >::end_el.
00062 { 00063 if (current) 00064 delete(current); 00065 00066 if(end_el) 00067 delete(end_el); 00068 00069 }
| RefElemLibMesh< Dim > & IteratorElemsLibMesh< Dim >::GetFirst | ( | ) | [inline] |
get first element of attached contener
Reimplemented from Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > >.
Definition at line 71 of file iterator_libmesh.cpp.
References IteratorElemsLibMesh< Dim >::current, IteratorElemsLibMesh< Dim >::elem, IteratorElemsLibMesh< Dim >::end_el, Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > >::end_flag, Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > >::my_cont, and SPECIAL_STATIC_CAST.
00071 { 00072 if (!this->my_cont.nbElem()){ 00073 this->end_flag = true; 00074 return elem; 00075 } 00076 00077 this->end_flag = false; 00078 00079 00080 const MeshLibMesh<Dim> & msh(*SPECIAL_STATIC_CAST(ContenerElemsLibMesh<Dim> &,this->my_cont).my_mesh); 00081 if (current) 00082 delete(current); 00083 00084 if(end_el) 00085 delete(end_el); 00086 00087 current = new MeshBase::const_element_iterator(msh.local_elements_begin()); 00088 end_el = new MeshBase::const_element_iterator(msh.local_elements_end()); 00089 00090 elem.elt = *(*current); 00091 elem.index = 0; 00092 00093 elem.model = static_cast<ContenerElemsLibMesh<Dim> &>(this->my_cont).model; 00094 00095 return elem; 00096 }
| RefElemLibMesh< Dim > & IteratorElemsLibMesh< Dim >::GetNext | ( | ) | [inline] |
get next element in the course
Reimplemented from Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > >.
Definition at line 81 of file iterator_libmesh.h.
References IteratorElemsLibMesh< Dim >::current, DBG_ALL, DUMP, IteratorElemsLibMesh< Dim >::elem, IteratorElemsLibMesh< Dim >::end_el, and Iterator< RefElemLibMesh< Dim >, IteratorElemsLibMesh< Dim > >::end_flag.
00081 { 00082 MeshBase::const_element_iterator & c(*current); 00083 const MeshBase::const_element_iterator & e(*end_el); 00084 00085 ++c; 00086 ++elem.index; 00087 00088 if (c != e){ 00089 elem.elt = *c; 00090 DUMP("Element demande : "<< *c,DBG_ALL); 00091 00092 } 00093 else{ 00094 this->end_flag = true; 00095 } 00096 return elem; 00097 }
MeshBase::const_element_iterator* IteratorElemsLibMesh< Dim >::current [private] |
internal libmesh course object for elements
Definition at line 74 of file iterator_libmesh.h.
Referenced by IteratorElemsLibMesh< Dim >::GetFirst(), IteratorElemsLibMesh< Dim >::GetNext(), IteratorElemsLibMesh< Dim >::IteratorElemsLibMesh(), and IteratorElemsLibMesh< Dim >::~IteratorElemsLibMesh().
RefElemLibMesh<Dim> IteratorElemsLibMesh< Dim >::elem [private] |
reference to the current element in course
Definition at line 71 of file iterator_libmesh.h.
Referenced by IteratorElemsLibMesh< Dim >::GetFirst(), and IteratorElemsLibMesh< Dim >::GetNext().
MeshBase::const_element_iterator* IteratorElemsLibMesh< Dim >::end_el [private] |
internal libmesh course object for last element
Definition at line 76 of file iterator_libmesh.h.
Referenced by IteratorElemsLibMesh< Dim >::GetFirst(), IteratorElemsLibMesh< Dim >::GetNext(), IteratorElemsLibMesh< Dim >::IteratorElemsLibMesh(), and IteratorElemsLibMesh< Dim >::~IteratorElemsLibMesh().
1.5.2