Mesh Oriented datABase  (version 5.5.0)
An array-based unstructured mesh library
moab::PolyElementSeq Class Reference

#include <PolyElementSeq.hpp>

+ Inheritance diagram for moab::PolyElementSeq:
+ Collaboration diagram for moab::PolyElementSeq:

Public Member Functions

 PolyElementSeq (EntityHandle shandle, EntityID entity_count, unsigned nodes_per_entity, SequenceData *dat)
 
 PolyElementSeq (EntityHandle shandle, EntityID entity_count, unsigned nodes_per_entity, EntityID sequence_data_size)
 
virtual ~PolyElementSeq ()
 
virtual EntitySequencesplit (EntityHandle here)
 Split this sequence into two consecutive sequences. More...
 
virtual ErrorCode get_connectivity (EntityHandle handle, std::vector< EntityHandle > &connect, bool topological=false) const
 
virtual ErrorCode get_connectivity (EntityHandle handle, EntityHandle const *&connect, int &connect_length, bool topological=false, std::vector< EntityHandle > *storage=0) const
 
- Public Member Functions inherited from moab::UnstructuredElemSeq
 UnstructuredElemSeq (EntityHandle start_handle, EntityID entity_count, unsigned nodes_per_entity, SequenceData *data)
 
 UnstructuredElemSeq (EntityHandle start_handle, EntityID entity_count, unsigned nodes_per_entity, EntityID sequence_data_size)
 
virtual ~UnstructuredElemSeq ()
 
int values_per_entity () const
 Integer value used in finding appropriate SequenceData. More...
 
SequenceDatacreate_data_subset (EntityHandle start, EntityHandle end) const
 Create a new SequenceData that is a copy of a subset of the one referenced by this sequence. More...
 
ErrorCode set_connectivity (EntityHandle handle, EntityHandle const *connect, int connect_length)
 
EntityHandleget_connectivity_array ()
 
ErrorCode push_front (EntityID count)
 
ErrorCode push_back (EntityID count)
 
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...
 
- Public Member Functions inherited from moab::ElementSequence
 ElementSequence (EntityHandle start, EntityID count, unsigned int nodes_per_elem, SequenceData *dat)
 
virtual ~ElementSequence ()
 
unsigned int nodes_per_element () const
 
EntityHandle const * get_connectivity_array () const
 
bool has_mid_edge_nodes () const
 
bool has_mid_face_nodes () const
 
bool has_mid_volume_nodes () 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
 
SequenceDatadata () 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 ErrorCode merge (EntitySequence &other)
 Merge this sequence with another. More...
 
virtual ErrorCode pop_back (EntityID count)
 Erase entities in range: (end_handle()-count, end_handle()]. More...
 
virtual ErrorCode pop_front (EntityID count)
 Erase entities in range: [start_handle(), start_handle()+count) More...
 
virtual unsigned long get_per_entity_memory_use (EntityHandle first, EntityHandle last) const
 Get portion of memory use that varies per entity. More...
 

Protected Member Functions

 PolyElementSeq (PolyElementSeq &split_from, EntityHandle here)
 
- Protected Member Functions inherited from moab::UnstructuredElemSeq
EntityHandle const * get_array () const
 
EntityHandleget_array ()
 
 UnstructuredElemSeq (UnstructuredElemSeq &split_from, EntityHandle here)
 
- Protected Member Functions inherited from moab::ElementSequence
 ElementSequence (ElementSequence &split_from, EntityHandle here)
 
- Protected Member Functions inherited from moab::EntitySequence
 EntitySequence (EntityHandle h)
 
 EntitySequence (EntitySequence &split_from, EntityHandle here)
 
SequenceDatacreate_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)
 

Detailed Description

Definition at line 9 of file PolyElementSeq.hpp.

Constructor & Destructor Documentation

◆ PolyElementSeq() [1/3]

moab::PolyElementSeq::PolyElementSeq ( EntityHandle  shandle,
EntityID  entity_count,
unsigned  nodes_per_entity,
SequenceData dat 
)
inline

Definition at line 12 of file PolyElementSeq.hpp.

13  : UnstructuredElemSeq( shandle, entity_count, nodes_per_entity, dat )
14  {
15  }

Referenced by split().

◆ PolyElementSeq() [2/3]

moab::PolyElementSeq::PolyElementSeq ( EntityHandle  shandle,
EntityID  entity_count,
unsigned  nodes_per_entity,
EntityID  sequence_data_size 
)
inline

Definition at line 17 of file PolyElementSeq.hpp.

21  : UnstructuredElemSeq( shandle, entity_count, nodes_per_entity, sequence_data_size )
22  {
23  }

◆ ~PolyElementSeq()

moab::PolyElementSeq::~PolyElementSeq ( )
virtual

Definition at line 6 of file PolyElementSeq.cpp.

6 {}

◆ PolyElementSeq() [3/3]

moab::PolyElementSeq::PolyElementSeq ( PolyElementSeq split_from,
EntityHandle  here 
)
inlineprotected

Definition at line 40 of file PolyElementSeq.hpp.

40 : UnstructuredElemSeq( split_from, here ) {}

Member Function Documentation

◆ get_connectivity() [1/2]

ErrorCode moab::PolyElementSeq::get_connectivity ( EntityHandle  handle,
EntityHandle const *&  connect,
int &  connect_length,
bool  topological = false,
std::vector< EntityHandle > *  storage = 0 
) const
virtual

Reimplemented from moab::UnstructuredElemSeq.

Definition at line 22 of file PolyElementSeq.cpp.

27 {
28  conn_ptr = get_array() + nodes_per_element() * ( handle - start_handle() );
29  len = nodes_per_element();
30  return MB_SUCCESS;
31 }

References moab::UnstructuredElemSeq::get_array(), MB_SUCCESS, moab::ElementSequence::nodes_per_element(), and moab::EntitySequence::start_handle().

◆ get_connectivity() [2/2]

ErrorCode moab::PolyElementSeq::get_connectivity ( EntityHandle  handle,
std::vector< EntityHandle > &  connect,
bool  topological = false 
) const
virtual

Reimplemented from moab::UnstructuredElemSeq.

Definition at line 13 of file PolyElementSeq.cpp.

14 {
15  EntityHandle const* conn = get_array() + nodes_per_element() * ( handle - start_handle() );
16  int len = nodes_per_element();
17  connect.reserve( connect.size() + len );
18  std::copy( conn, conn + len, std::back_inserter( connect ) );
19  return MB_SUCCESS;
20 }

References moab::UnstructuredElemSeq::get_array(), MB_SUCCESS, moab::ElementSequence::nodes_per_element(), and moab::EntitySequence::start_handle().

◆ split()

EntitySequence * moab::PolyElementSeq::split ( EntityHandle  here)
virtual

Split this sequence into two consecutive sequences.

Split this sequence into two sequences.

Parameters
hereNew sequences should be [start_handle(),here) & [here,end_handle()]
Returns
New sequence containing [here,end_handle()]

Reimplemented from moab::UnstructuredElemSeq.

Definition at line 8 of file PolyElementSeq.cpp.

9 {
10  return new PolyElementSeq( *this, here );
11 }

References PolyElementSeq().


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