#include <MeshSetSequence.hpp>
Public Member Functions | |
MeshSetSequence (EntityHandle start, EntityID count, const unsigned *flags, SequenceData *data) | |
MeshSetSequence (EntityHandle start, EntityID count, unsigned flags, SequenceData *data) | |
MeshSetSequence (EntityHandle start, EntityID count, const unsigned *flags, EntityID sequence_size) | |
MeshSetSequence (EntityHandle start, EntityID count, unsigned flags, EntityID sequence_size) | |
virtual | ~MeshSetSequence () |
EntitySequence * | split (EntityHandle here) |
Split this sequence into two consecutive sequences. More... | |
SequenceData * | create_data_subset (EntityHandle, EntityHandle) const |
Create a new SequenceData that is a copy of a subset of the one referenced by this sequence. More... | |
ErrorCode | pop_back (EntityID count) |
Erase entities in range: (end_handle()-count, end_handle()]. More... | |
ErrorCode | pop_front (EntityID count) |
Erase entities in range: [start_handle(), start_handle()+count) More... | |
ErrorCode | push_back (EntityID count, const unsigned *flags) |
ErrorCode | push_front (EntityID count, const unsigned *flags) |
void | get_const_memory_use (unsigned long &bytes_per_entity, unsigned long &size_of_sequence) const |
Get memory characteristcs that are the same for all entities. More... | |
unsigned long | get_per_entity_memory_use (EntityHandle first, EntityHandle last) const |
Get portion of memory use that varies per entity. More... | |
MeshSet * | get_set (EntityHandle h) |
const MeshSet * | get_set (EntityHandle h) const |
ErrorCode | get_entities (EntityHandle set, std::vector< EntityHandle > &entities) const |
ErrorCode | get_entities (SequenceManager const *seqman, EntityHandle set, Range &entities, bool recursive) const |
ErrorCode | get_dimension (SequenceManager const *seqman, EntityHandle set, int dim, std::vector< EntityHandle > &entities, bool recursive) const |
ErrorCode | get_dimension (SequenceManager const *seqman, EntityHandle set, int dim, Range &entities, bool recursive) const |
ErrorCode | get_type (SequenceManager const *seqman, EntityHandle set, EntityType type, std::vector< EntityHandle > &entities, bool recursive) const |
ErrorCode | get_type (SequenceManager const *seqman, EntityHandle set, EntityType type, Range &entities, bool recursive) const |
ErrorCode | num_entities (SequenceManager const *seqman, EntityHandle set, int &count, bool recursive) const |
ErrorCode | num_dimension (SequenceManager const *seqman, EntityHandle set, int dim, int &count, bool recursive) const |
ErrorCode | num_type (SequenceManager const *seqman, EntityHandle set, EntityType type, int &count, bool recursive) const |
ErrorCode | get_parents (SequenceManager const *seqman, EntityHandle of, std::vector< EntityHandle > &parents, int num_hops) const |
ErrorCode | get_children (SequenceManager const *seqman, EntityHandle of, std::vector< EntityHandle > &children, int num_hops) const |
ErrorCode | get_contained_sets (SequenceManager const *seqman, EntityHandle of, std::vector< EntityHandle > &contents, int num_hops) const |
ErrorCode | num_parents (SequenceManager const *seqman, EntityHandle of, int &number, int num_hops) const |
ErrorCode | num_children (SequenceManager const *seqman, EntityHandle of, int &number, int num_hops) const |
ErrorCode | num_contained_sets (SequenceManager const *seqman, EntityHandle of, int &number, int num_hops) const |
Public Member Functions inherited from moab::EntitySequence | |
EntitySequence (EntityHandle start, EntityID count, SequenceData *dat) | |
virtual | ~EntitySequence () |
EntityType | type () const |
EntityHandle | start_handle () const |
EntityHandle | end_handle () const |
SequenceData * | data () const |
void | data (SequenceData *ptr) |
EntityID | size () const |
bool | using_entire_data () const |
True if SequenceData has no holes and is used only by this EntitySequence. More... | |
virtual int | values_per_entity () const |
Integer value used in finding appropriate SequenceData. More... | |
virtual ErrorCode | merge (EntitySequence &other) |
Merge this sequence with another. More... | |
Private Types | |
enum | SearchType { PARENTS , CHILDREN , CONTAINED } |
enum | { SET_SIZE = sizeof( MeshSet ) } |
Private Member Functions | |
MeshSetSequence (MeshSetSequence &split_from, EntityHandle split_at) | |
void | initialize (const unsigned *set_flags) |
ErrorCode | get_parent_child_meshsets (EntityHandle meshset, SequenceManager const *set_sequences, std::vector< EntityHandle > &results, int num_hops, SearchType link_type) const |
const unsigned char * | array () const |
unsigned char * | array () |
void | allocate_set (unsigned flags, EntityID index) |
void | deallocate_set (EntityID index) |
Static Private Member Functions | |
static ErrorCode | recursive_get_sets (EntityHandle start_set, SequenceManager const *set_sequences, std::vector< const MeshSet * > *sets_out=0, Range *set_handles_out=0, std::vector< EntityHandle > *set_handle_vect_out=0) |
static ErrorCode | recursive_get_sets (EntityHandle start_set, SequenceManager *set_sequences, std::vector< MeshSet * > &sets_out) |
Additional Inherited Members | |
Protected Member Functions inherited from moab::EntitySequence | |
EntitySequence (EntityHandle h) | |
EntitySequence (EntitySequence &split_from, EntityHandle here) | |
SequenceData * | create_data_subset (EntityHandle start_handle, EntityHandle end_handle, int num_sequence_arrays, unsigned const *bytes_per_element) const |
ErrorCode | prepend_entities (EntityID count) |
ErrorCode | append_entities (EntityID count) |
Definition at line 33 of file MeshSetSequence.hpp.
|
private |
Enumerator | |
---|---|
SET_SIZE |
Definition at line 142 of file MeshSetSequence.hpp.
|
private |
Enumerator | |
---|---|
PARENTS | |
CHILDREN | |
CONTAINED |
Definition at line 116 of file MeshSetSequence.hpp.
moab::MeshSetSequence::MeshSetSequence | ( | EntityHandle | start, |
EntityID | count, | ||
const unsigned * | flags, | ||
SequenceData * | data | ||
) |
moab::MeshSetSequence::MeshSetSequence | ( | EntityHandle | start, |
EntityID | count, | ||
unsigned | flags, | ||
SequenceData * | data | ||
) |
moab::MeshSetSequence::MeshSetSequence | ( | EntityHandle | start, |
EntityID | count, | ||
const unsigned * | flags, | ||
EntityID | sequence_size | ||
) |
moab::MeshSetSequence::MeshSetSequence | ( | EntityHandle | start, |
EntityID | count, | ||
unsigned | flags, | ||
EntityID | sequence_size | ||
) |
|
virtual |
Definition at line 62 of file MeshSetSequence.cpp.
References moab::EntitySequence::data(), deallocate_set(), moab::EntitySequence::size(), moab::EntitySequence::start_handle(), and moab::SequenceData::start_handle().
|
inlineprivate |
Definition at line 123 of file MeshSetSequence.hpp.
|
inlineprivate |
Definition at line 157 of file MeshSetSequence.hpp.
References array(), and SET_SIZE.
Referenced by initialize(), push_back(), and push_front().
|
inlineprivate |
Definition at line 152 of file MeshSetSequence.hpp.
References moab::EntitySequence::data(), and moab::SequenceData::get_sequence_data().
|
inlineprivate |
Definition at line 147 of file MeshSetSequence.hpp.
References moab::EntitySequence::data(), and moab::SequenceData::get_sequence_data().
Referenced by allocate_set(), deallocate_set(), and get_set().
|
inlinevirtual |
Create a new SequenceData that is a copy of a subset of the one referenced by this sequence.
Create a new SequenceData that is a copy of a subset of the SequenceData referenced by this EntitySequence. Do not make any changes to this EntitySequence or the current SequenceData.
Implements moab::EntitySequence.
Definition at line 48 of file MeshSetSequence.hpp.
|
inlineprivate |
Definition at line 163 of file MeshSetSequence.hpp.
References array(), SET_SIZE, and moab::MeshSet::~MeshSet().
Referenced by pop_back(), pop_front(), and ~MeshSetSequence().
ErrorCode moab::MeshSetSequence::get_children | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
std::vector< EntityHandle > & | children, | ||
int | num_hops | ||
) | const |
Definition at line 538 of file MeshSetSequence.cpp.
References CHILDREN, children, moab::MeshSet::get_children(), get_parent_child_meshsets(), get_set(), and MB_SUCCESS.
Referenced by moab::Core::get_child_meshsets(), and num_children().
|
virtual |
Get memory characteristcs that are the same for all entities.
Get charactersitic constant memory use for all entities in sequence.
bytes_per_entity | The total bytes consumed for each entity in the underlying SequenceData. It is assumed that the same amount of memory is consumed for unused portions of the SequenceData. |
size_of_sequence | The size of the leaf subclass of this class |
Implements moab::EntitySequence.
Definition at line 115 of file MeshSetSequence.cpp.
References SET_SIZE.
ErrorCode moab::MeshSetSequence::get_contained_sets | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
std::vector< EntityHandle > & | contents, | ||
int | num_hops | ||
) | const |
Definition at line 565 of file MeshSetSequence.cpp.
References CONTAINED, moab::MeshSet::get_entities_by_type(), get_parent_child_meshsets(), get_set(), and MBENTITYSET.
Referenced by moab::Core::get_contained_meshsets(), and num_contained_sets().
ErrorCode moab::MeshSetSequence::get_dimension | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
int | dim, | ||
Range & | entities, | ||
bool | recursive | ||
) | const |
Definition at line 179 of file MeshSetSequence.cpp.
References entities, ErrorCode, moab::MeshSet::get_entities_by_dimension(), get_set(), MB_SUCCESS, and recursive_get_sets().
ErrorCode moab::MeshSetSequence::get_dimension | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
int | dim, | ||
std::vector< EntityHandle > & | entities, | ||
bool | recursive | ||
) | const |
Definition at line 158 of file MeshSetSequence.cpp.
References entities, ErrorCode, moab::MeshSet::get_entities_by_dimension(), get_set(), MB_SUCCESS, and recursive_get_sets().
Referenced by moab::Core::get_entities_by_dimension(), and num_dimension().
ErrorCode moab::MeshSetSequence::get_entities | ( | EntityHandle | set, |
std::vector< EntityHandle > & | entities | ||
) | const |
Definition at line 152 of file MeshSetSequence.cpp.
References entities, moab::MeshSet::get_entities(), get_set(), and MB_SUCCESS.
Referenced by moab::Core::get_entities_by_handle(), get_type(), and num_entities().
ErrorCode moab::MeshSetSequence::get_entities | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
Range & | entities, | ||
bool | recursive | ||
) | const |
Definition at line 132 of file MeshSetSequence.cpp.
References entities, ErrorCode, moab::MeshSet::get_entities(), get_set(), MB_SUCCESS, and recursive_get_sets().
|
private |
Definition at line 413 of file MeshSetSequence.cpp.
References CHILDREN, CONTAINED, ErrorCode, moab::SequenceManager::find(), moab::FIRST_HANDLE(), moab::MeshSet::get_children(), moab::MeshSet::get_contents(), moab::MeshSet::get_parents(), get_set(), MB_SUCCESS, MBENTITYSET, PARENTS, moab::TYPE_FROM_HANDLE(), and moab::MeshSet::vector_based().
Referenced by get_children(), get_contained_sets(), and get_parents().
ErrorCode moab::MeshSetSequence::get_parents | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
std::vector< EntityHandle > & | parents, | ||
int | num_hops | ||
) | const |
Definition at line 511 of file MeshSetSequence.cpp.
References get_parent_child_meshsets(), moab::MeshSet::get_parents(), get_set(), MB_SUCCESS, and PARENTS.
Referenced by moab::Core::get_parent_meshsets(), and num_parents().
|
virtual |
Get portion of memory use that varies per entity.
Reimplemented from moab::EntitySequence.
Definition at line 121 of file MeshSetSequence.cpp.
References moab::EntitySequence::end_handle(), moab::GeomUtil::first(), moab::MeshSet::get_memory_use(), get_set(), moab::EntitySequence::start_handle(), and moab::sum().
|
inline |
Definition at line 170 of file MeshSetSequence.hpp.
References array(), moab::EntitySequence::data(), SET_SIZE, and moab::SequenceData::start_handle().
Referenced by get_children(), get_contained_sets(), get_dimension(), get_entities(), moab::WriteUtil::get_entity_list_pointers(), get_parent_child_meshsets(), get_parents(), get_per_entity_memory_use(), get_type(), num_children(), num_contained_sets(), num_dimension(), num_entities(), num_parents(), num_type(), and recursive_get_sets().
|
inline |
Definition at line 174 of file MeshSetSequence.hpp.
References array(), moab::EntitySequence::data(), SET_SIZE, and moab::SequenceData::start_handle().
ErrorCode moab::MeshSetSequence::get_type | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
EntityType | type, | ||
Range & | entities, | ||
bool | recursive | ||
) | const |
Definition at line 239 of file MeshSetSequence.cpp.
References entities, ErrorCode, moab::MeshSet::get_entities_by_type(), get_set(), MB_SUCCESS, MBENTITYSET, MBMAXTYPE, and recursive_get_sets().
ErrorCode moab::MeshSetSequence::get_type | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
EntityType | type, | ||
std::vector< EntityHandle > & | entities, | ||
bool | recursive | ||
) | const |
Definition at line 200 of file MeshSetSequence.cpp.
References moab::Range::begin(), moab::Range::end(), entities, ErrorCode, get_entities(), moab::MeshSet::get_entities_by_type(), get_set(), MB_SUCCESS, MBENTITYSET, MBMAXTYPE, and recursive_get_sets().
Referenced by moab::Core::get_entities_by_type(), and num_type().
|
private |
Definition at line 53 of file MeshSetSequence.cpp.
References allocate_set(), moab::SequenceData::create_sequence_data(), moab::EntitySequence::data(), SET_SIZE, moab::EntitySequence::size(), moab::EntitySequence::start_handle(), and moab::SequenceData::start_handle().
Referenced by MeshSetSequence().
ErrorCode moab::MeshSetSequence::num_children | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
int & | number, | ||
int | num_hops | ||
) | const |
Definition at line 598 of file MeshSetSequence.cpp.
References children, ErrorCode, get_children(), get_set(), MB_SUCCESS, and moab::MeshSet::num_children().
Referenced by moab::Core::num_child_meshsets().
ErrorCode moab::MeshSetSequence::num_contained_sets | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
int & | number, | ||
int | num_hops | ||
) | const |
Definition at line 615 of file MeshSetSequence.cpp.
References ErrorCode, get_contained_sets(), get_set(), MB_SUCCESS, MBENTITYSET, and moab::MeshSet::num_entities_by_type().
Referenced by moab::Core::num_contained_meshsets().
ErrorCode moab::MeshSetSequence::num_dimension | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
int | dim, | ||
int & | count, | ||
bool | recursive | ||
) | const |
Definition at line 291 of file MeshSetSequence.cpp.
References ErrorCode, get_dimension(), get_set(), MB_SUCCESS, moab::MeshSet::num_entities_by_dimension(), and moab::Range::size().
Referenced by moab::Core::get_number_entities_by_dimension().
ErrorCode moab::MeshSetSequence::num_entities | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
int & | count, | ||
bool | recursive | ||
) | const |
Definition at line 272 of file MeshSetSequence.cpp.
References ErrorCode, get_entities(), get_set(), MB_SUCCESS, moab::MeshSet::num_entities(), and moab::Range::size().
Referenced by moab::Core::get_number_entities_by_handle().
ErrorCode moab::MeshSetSequence::num_parents | ( | SequenceManager const * | seqman, |
EntityHandle | of, | ||
int & | number, | ||
int | num_hops | ||
) | const |
Definition at line 581 of file MeshSetSequence.cpp.
References ErrorCode, get_parents(), get_set(), MB_SUCCESS, and moab::MeshSet::num_parents().
Referenced by moab::Core::num_parent_meshsets().
ErrorCode moab::MeshSetSequence::num_type | ( | SequenceManager const * | seqman, |
EntityHandle | set, | ||
EntityType | type, | ||
int & | count, | ||
bool | recursive | ||
) | const |
Definition at line 311 of file MeshSetSequence.cpp.
References ErrorCode, get_set(), get_type(), MB_SUCCESS, moab::MeshSet::num_entities_by_type(), and moab::Range::size().
Referenced by moab::Core::get_number_entities_by_type().
Erase entities in range: (end_handle()-count, end_handle()].
Reimplemented from moab::EntitySequence.
Definition at line 75 of file MeshSetSequence.cpp.
References moab::EntitySequence::data(), deallocate_set(), moab::EntitySequence::end_handle(), ErrorCode, MB_SUCCESS, moab::EntitySequence::pop_back(), and moab::SequenceData::start_handle().
Referenced by moab::SequenceManager::allocate_mesh_set().
Erase entities in range: [start_handle(), start_handle()+count)
Reimplemented from moab::EntitySequence.
Definition at line 85 of file MeshSetSequence.cpp.
References moab::EntitySequence::data(), deallocate_set(), ErrorCode, MB_SUCCESS, moab::EntitySequence::pop_front(), moab::EntitySequence::start_handle(), and moab::SequenceData::start_handle().
Referenced by moab::SequenceManager::allocate_mesh_set().
Definition at line 95 of file MeshSetSequence.cpp.
References allocate_set(), moab::EntitySequence::append_entities(), moab::EntitySequence::data(), moab::EntitySequence::end_handle(), ErrorCode, MB_SUCCESS, and moab::SequenceData::start_handle().
Referenced by moab::SequenceManager::allocate_mesh_set(), and moab::SequenceManager::create_mesh_set().
Definition at line 105 of file MeshSetSequence.cpp.
References allocate_set(), moab::EntitySequence::data(), ErrorCode, MB_SUCCESS, moab::EntitySequence::prepend_entities(), moab::EntitySequence::start_handle(), and moab::SequenceData::start_handle().
Referenced by moab::SequenceManager::allocate_mesh_set(), and moab::SequenceManager::create_mesh_set().
|
staticprivate |
Definition at line 383 of file MeshSetSequence.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::SequenceManager::find(), moab::MeshSet::get_entities_by_type(), get_set(), MB_SUCCESS, and MBENTITYSET.
|
staticprivate |
Definition at line 331 of file MeshSetSequence.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::SequenceManager::find(), moab::MeshSet::get_entities_by_type(), get_set(), moab::Range::insert(), MB_SUCCESS, and MBENTITYSET.
Referenced by get_dimension(), get_entities(), and get_type().
|
virtual |
Split this sequence into two consecutive sequences.
Split this sequence into two sequences.
here | New sequences should be [start_handle(),here) & [here,end_handle()] |
Implements moab::EntitySequence.
Definition at line 70 of file MeshSetSequence.cpp.
References MeshSetSequence().