16 #ifndef MOAB_WRITE_UTIL_IFACE_HPP
17 #define MOAB_WRITE_UTIL_IFACE_HPP
45 int num_sets = 0 ) = 0;
61 const int start_node_id,
62 std::vector< double* >& arrays ) = 0;
85 const size_t output_size,
86 double*
const output_array ) = 0;
101 const int verts_per_element,
105 int start_element_id,
107 bool add_sizes =
false ) = 0;
139 const int vertices_per_elem,
141 const size_t array_size,
142 int*
const element_array,
143 bool add_sizes =
false ) = 0;
172 const int vertices_per_elem,
173 const size_t array_size,
185 int& connectivity_size ) = 0;
229 const Tag node_id_tag,
230 size_t& element_array_len,
231 int*
const element_array,
232 size_t& index_array_len,
233 int*
const index_array,
234 int& index_offset ) = 0;
242 const Tag node_bit_mark_tag,
280 template <
typename T >
281 static inline void reorder(
const int* order, T* conn,
int num_elem,
int node_per_elem );
303 const Tag* user_tag_list = 0,
304 int user_tag_list_length = 0,
305 bool include_variable_length_tags =
true ) = 0;
342 unsigned char* flags = 0 ) = 0;
371 unsigned char* flags = 0 ) = 0;
374 template <
typename T >
377 std::vector< T > elem( node_per_elem );
378 T*
const end = conn + num_elem * node_per_elem;
381 std::copy( conn, conn + node_per_elem, elem.begin() );
382 for(
int j = 0; j < node_per_elem; ++j, ++conn )
383 *conn = elem[order[j]];