MCPcopy Create free account
hub / github.com/Kitware/VTK / GetCellGridInfoForBlock

Method GetCellGridInfoForBlock

IO/IOSS/vtkIOSSCellGridReaderInternal.cxx:409–510  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

407}
408
409vtkCellAttribute::CellTypeInfo vtkIOSSCellGridReaderInternal::GetCellGridInfoForBlock(
410 int shape_conn_size, int shape_order, vtkDGCell* dg)
411{
412 vtkCellAttribute::CellTypeInfo cellTypeInfo;
413 vtkStringToken cellTypeName = dg->GetClassName();
414 cellTypeInfo.Order = shape_order;
415 if (shape_order == 0)
416 {
417 cellTypeInfo.Basis = "C"_token;
418 return cellTypeInfo;
419 }
420 int op1 = shape_order + 1;
421 switch (cellTypeName.GetId())
422 {
423 case "vtkDGVert"_hash:
424 if (shape_order > 0)
425 {
426 throw std::runtime_error("Vertices may only have constant values.");
427 }
428 cellTypeInfo.Basis = "C"_token;
429 break;
430 case "vtkDGEdge"_hash:
431 cellTypeInfo.Basis = "C"_token;
432 break;
433 case "vtkDGQuad"_hash:
434 cellTypeInfo.Basis = (op1 * op1 == shape_conn_size ? "C"_token : "I"_token);
435 break;
436 case "vtkDGTri"_hash:
437 cellTypeInfo.Basis = "C"_token;
438 break;
439 case "vtkDGPyr"_hash:
440 switch (shape_conn_size)
441 {
442 case 13:
443 cellTypeInfo.Basis = "I"_token;
444 break;
445 case 5:
446 case 18:
447 cellTypeInfo.Basis = "C"_token;
448 break;
449 case 19:
450 cellTypeInfo.Basis = "F"_token;
451 break;
452 default:
453 throw std::runtime_error("Unhandled pyramid connectivity size.");
454 }
455 break;
456 case "vtkDGWdg"_hash:
457 switch (shape_conn_size)
458 {
459 case 15:
460 cellTypeInfo.Basis = "I"_token;
461 break;
462 case 6:
463 case 18:
464 cellTypeInfo.Basis = "C"_token;
465 break;
466 case 21:

Callers 1

GetElementBlockMethod · 0.95

Calls 2

GetClassNameMethod · 0.45
GetIdMethod · 0.45

Tested by

no test coverage detected