moab
MBIter< Container > Class Template Reference

#include <MBIter.hpp>

Inheritance diagram for MBIter< Container >:
iBase_EntityArrIterator_Private PartBoundaryIter SetIntersectIter< Container >

List of all members.

Public Member Functions

 MBIter (iBase_EntityType type, iMesh_EntityTopology topology, EntityHandle set, int arr_size, bool recursive=false)
 ~MBIter ()
Container::const_iterator position () const
Container::const_iterator end () const
ErrorCode step (int num_steps, bool &at_end)
void get_entities (Core *mb, EntityHandle *array, int &count)
virtual ErrorCode reset (Interface *mb)

Protected Attributes

Container iterData
Container::const_iterator iterPos

Detailed Description

template<class Container>
class MBIter< Container >

Definition at line 110 of file MBIter.hpp.


Constructor & Destructor Documentation

template<class Container >
MBIter< Container >::MBIter ( iBase_EntityType  type,
iMesh_EntityTopology  topology,
EntityHandle  set,
int  arr_size,
bool  recursive = false 
) [inline]

Definition at line 117 of file MBIter.hpp.

            : iBase_EntityArrIterator_Private( type, topology, set, arr_size, recursive ),
        iterPos(iterData.end()) {}
template<class Container >
MBIter< Container >::~MBIter ( ) [inline]

Definition at line 125 of file MBIter.hpp.

{}

Member Function Documentation

template<class Container >
Container::const_iterator MBIter< Container >::end ( ) const [inline]

Definition at line 129 of file MBIter.hpp.

{return iterData.end();};
template<class Container >
void MBIter< Container >::get_entities ( Core *  mb,
EntityHandle *  array,
int &  count 
) [inline, virtual]

Implements iBase_EntityArrIterator_Private.

Definition at line 136 of file MBIter.hpp.

    {
      for (count = 0; count < arrSize && iterPos != iterData.end(); ++iterPos)
        if (mb->is_valid(*iterPos))
          array[count++] = *iterPos;
    }
template<class Container >
Container::const_iterator MBIter< Container >::position ( ) const [inline]

Definition at line 127 of file MBIter.hpp.

{return iterPos;};
template<class Container >
virtual ErrorCode MBIter< Container >::reset ( Interface *  mb) [inline, virtual]

Implements iBase_EntityArrIterator_Private.

Definition at line 143 of file MBIter.hpp.

                                             {
      ErrorCode result;
      iterData.clear();
      if (entTopo != iMesh_ALL_TOPOLOGIES) {
        if (entTopo == iMesh_SEPTAHEDRON)
          result = MB_SUCCESS;
        else
          result = mb->get_entities_by_type( entSet, mb_topology_table[entTopo], iterData, isRecursive );
      }
      else if (entType != iBase_ALL_TYPES) {
        result = mb->get_entities_by_dimension( entSet, entType, iterData, isRecursive );
        if (entType == iBase_REGION)
          remove_type( iterData, MBKNIFE );
      }
      else {
        result = mb->get_entities_by_handle( entSet, iterData, isRecursive );
        remove_type( iterData, MBENTITYSET );
        remove_type( iterData, MBKNIFE );
      }
      iterPos = iterData.begin();
      return result;
    }  
template<class Container >
ErrorCode MBIter< Container >::step ( int  num_steps,
bool &  at_end 
) [inline, virtual]

Implements iBase_EntityArrIterator_Private.

Definition at line 131 of file MBIter.hpp.

    {
      return step_iterator(iterPos, end(), num_steps, at_end);
    }

Member Data Documentation

template<class Container >
Container MBIter< Container >::iterData [protected]

Definition at line 113 of file MBIter.hpp.

template<class Container >
Container::const_iterator MBIter< Container >::iterPos [protected]

Definition at line 114 of file MBIter.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines