MOAB: Mesh Oriented datABase
(version 5.4.1)
|
Public Member Functions | |
SetIntersectIter (iBase_EntityType type, iMesh_EntityTopology topology, EntityHandle set, EntityHandle other_set, int array_sz) | |
virtual | ~SetIntersectIter () |
ErrorCode | intersect_with_set (Interface *mb, Range &range) |
ErrorCode | intersect_with_set (Interface *mb, std::vector< EntityHandle > &list) |
virtual ErrorCode | reset (Interface *mb) |
Private Attributes | |
EntityHandle | otherSet |
Definition at line 301 of file iMeshP_MOAB.cpp.
SetIntersectIter< Container >::SetIntersectIter | ( | iBase_EntityType | type, |
iMesh_EntityTopology | topology, | ||
EntityHandle | set, | ||
EntityHandle | other_set, | ||
int | array_sz | ||
) | [inline] |
Definition at line 307 of file iMeshP_MOAB.cpp.
: MBIter< Container >( type, topology, set, array_sz ), otherSet( other_set ) { }
virtual SetIntersectIter< Container >::~SetIntersectIter | ( | ) | [inline, virtual] |
Definition at line 315 of file iMeshP_MOAB.cpp.
{}
ErrorCode SetIntersectIter< Container >::intersect_with_set | ( | Interface * | mb, |
Range & | range | ||
) | [inline] |
Definition at line 317 of file iMeshP_MOAB.cpp.
References ErrorCode, moab::Interface::get_entities_by_handle(), and moab::intersect().
{ Range tmp; ErrorCode result; result = mb->get_entities_by_handle( otherSet, tmp ); range = intersect( range, tmp ); return result; }
ErrorCode SetIntersectIter< Container >::intersect_with_set | ( | Interface * | mb, |
std::vector< EntityHandle > & | list | ||
) | [inline] |
Definition at line 326 of file iMeshP_MOAB.cpp.
References moab::Interface::contains_entities(), and MB_SUCCESS.
{ size_t w = 0; for( size_t r = 0; r < list.size(); ++r ) { if( mb->contains_entities( otherSet, &list[r], 1 ) ) list[w++] = list[r]; } list.resize( w ); return MB_SUCCESS; }
virtual ErrorCode SetIntersectIter< Container >::reset | ( | Interface * | mb | ) | [inline, virtual] |
Definition at line 337 of file iMeshP_MOAB.cpp.
References ErrorCode, and MB_SUCCESS.
Referenced by iMeshP_initEntArrIter().
{ ErrorCode result = MBIter< Container >::reset( mb ); if( MB_SUCCESS != result ) return result; result = intersect_with_set( mb, MBIter< Container >::iterData ); MBIter< Container >::iterPos = MBIter< Container >::iterData.begin(); return result; }
EntityHandle SetIntersectIter< Container >::otherSet [private] |
Definition at line 304 of file iMeshP_MOAB.cpp.