69 static void SwitchBasis(
const int old_basis,
const int new_basis );
160 static void SetBasis(
const int in_basis );
169 static short int Dimension(
const EntityType t );
175 static short int NumSubEntities(
const EntityType t,
const int d );
182 static EntityType
SubEntityType(
const EntityType this_type,
const int sub_dimension,
const int index );
190 const int sub_dimension,
192 int sub_entity_conn[] );
200 const int sub_dimension,
202 EntityType& sub_type,
203 int& num_sub_ent_vertices );
215 const int sub_dimension,
217 EntityType& sub_entity_topo,
218 int& num_sub_entity_nodes,
219 int sub_entity_conn[] );
230 const EntityType parent_type,
231 const int sub_dimension,
233 void* sub_entity_conn,
234 int& num_sub_vertices );
247 const int* source_indices,
248 const int num_source_indices,
249 const int source_dim,
250 const int target_dim,
251 std::vector< int >& index_list,
265 static short int SideNumber(
const EntityType parent_type,
266 const int* parent_conn,
267 const int* child_conn,
268 const int child_num_verts,
273 static short int SideNumber(
const EntityType parent_type,
274 const unsigned int* parent_conn,
275 const unsigned int* child_conn,
276 const int child_num_verts,
281 static short int SideNumber(
const EntityType parent_type,
282 const long* parent_conn,
283 const long* child_conn,
284 const int child_num_verts,
289 static short int SideNumber(
const EntityType parent_type,
290 const unsigned long* parent_conn,
291 const unsigned long* child_conn,
292 const int child_num_verts,
297 static short int SideNumber(
const EntityType parent_type,
298 const unsigned long long* parent_conn,
299 const unsigned long long* child_conn,
300 const int child_num_verts,
305 static short int SideNumber(
const EntityType parent_type,
306 void*
const* parent_conn,
307 void*
const* child_conn,
308 const int child_num_verts,
324 static short int SideNumber(
const EntityType parent_type,
325 const int* child_conn_indices,
326 const int child_num_verts,
346 static short int OppositeSide(
const EntityType parent_type,
347 const int child_index,
361 const int num_vertices,
365 const unsigned int* conn2,
366 const int num_vertices,
371 const int num_vertices,
375 const unsigned long* conn2,
376 const int num_vertices,
380 const unsigned long long* conn2,
381 const int num_vertices,
386 const int num_vertices,
403 const int num_entries,
404 const bool is_reverse =
false );
421 const int indices_per_ent,
422 const int num_entries );
426 const int indices_per_ent,
427 const int num_entries );
431 const int indices_per_ent,
432 const int num_entries );
436 const int indices_per_ent,
437 const int num_entries );
449 const int indices_per_ent,
450 const int num_entries );
454 const int indices_per_ent,
455 const int num_entries );
459 const int indices_per_ent,
460 const int num_entries );
464 const int indices_per_ent,
465 const int num_entries );
472 static inline bool HasMidEdgeNodes(
const EntityType this_type,
const int num_verts );
479 static inline bool HasMidFaceNodes(
const EntityType this_type,
const int num_verts );
486 static inline bool HasMidRegionNodes(
const EntityType this_type,
const int num_verts );
494 static inline void HasMidNodes(
const EntityType this_type,
const int num_verts,
int mid_nodes[4] );
500 static inline int HasMidNodes(
const EntityType this_type,
const int num_verts );
525 static short int HONodeIndex(
const EntityType this_type,
527 const int subfacet_dim,
528 const int subfacet_index );
539 const int sub_dimension,
541 int sub_entity_conn[] )
546 std::copy( indices, indices + n, sub_entity_conn );
551 const int bits =
HasMidNodes( this_type, num_nodes );
552 return static_cast< bool >( ( bits & ( 1 << 1 ) ) >> 1 );
557 const int bits =
HasMidNodes( this_type, num_nodes );
558 return static_cast< bool >( ( bits & ( 1 << 2 ) ) >> 2 );
563 const int bits =
HasMidNodes( this_type, num_nodes );
564 return static_cast< bool >( ( bits & ( 1 << 3 ) ) >> 3 );
573 inline void CN::HasMidNodes(
const EntityType this_type,
const int num_nodes,
int mid_nodes[4] )
575 const int bits =
HasMidNodes( this_type, num_nodes );
577 mid_nodes[1] = ( bits & ( 1 << 1 ) ) >> 1;
578 mid_nodes[2] = ( bits & ( 1 << 2 ) ) >> 2;
579 mid_nodes[3] = ( bits & ( 1 << 3 ) ) >> 3;
586 const int num_entries,
587 const bool is_reverse )
596 for(
short int i = 0; i < num_entries; i++ )
598 this_vec[i] = pvec[i];
599 that_vec[pvec[i]] = i;
610 for(
unsigned int i = 0; i < 3; i++ )