------------------------------------------------------------------------------
| 1506 | |
| 1507 | //------------------------------------------------------------------------------ |
| 1508 | bool EnSightDataSet::ReadVariables(vtkPartitionedDataSetCollection* output, |
| 1509 | vtkDataArraySelection* partSelection, vtkDataArraySelection* pointArraySelection, |
| 1510 | vtkDataArraySelection* cellArraySelection, vtkDataArraySelection* fieldArraySelection) |
| 1511 | { |
| 1512 | for (auto& var : this->Variables) |
| 1513 | { |
| 1514 | switch (var.Type) |
| 1515 | { |
| 1516 | case VariableType::ScalarPerNode: |
| 1517 | case VariableType::VectorPerNode: |
| 1518 | case VariableType::TensorSymmPerNode: |
| 1519 | case VariableType::TensorAsymPerNode: |
| 1520 | if (pointArraySelection->ArrayIsEnabled(var.Name.c_str())) |
| 1521 | { |
| 1522 | this->ReadVariableNodes( |
| 1523 | var.File, var.Name, getNumComponents(var.Type), output, partSelection); |
| 1524 | } |
| 1525 | break; |
| 1526 | |
| 1527 | case VariableType::ScalarPerMeasuredNode: |
| 1528 | case VariableType::VectorPerMeasuredNode: |
| 1529 | if (pointArraySelection->ArrayIsEnabled(var.Name.c_str())) |
| 1530 | { |
| 1531 | this->ReadVariableMeasuredNodes( |
| 1532 | var.File, var.Name, getNumComponents(var.Type), output, partSelection); |
| 1533 | } |
| 1534 | break; |
| 1535 | |
| 1536 | case VariableType::ComplexScalarPerNode: |
| 1537 | if (pointArraySelection->ArrayIsEnabled(var.Name.c_str())) |
| 1538 | { |
| 1539 | this->ReadVariableNodes( |
| 1540 | var.File, var.Name, getNumComponents(var.Type), output, partSelection, true, true); |
| 1541 | this->ReadVariableNodes(var.ImaginaryFile, var.Name, getNumComponents(var.Type), output, |
| 1542 | partSelection, true, false); |
| 1543 | } |
| 1544 | break; |
| 1545 | |
| 1546 | case VariableType::ComplexVectorPerNode: |
| 1547 | if (pointArraySelection->ArrayIsEnabled(var.Name.c_str())) |
| 1548 | { |
| 1549 | this->ReadVariableNodes( |
| 1550 | var.File, var.Name + "_r", getNumComponents(var.Type), output, partSelection); |
| 1551 | this->ReadVariableNodes( |
| 1552 | var.ImaginaryFile, var.Name + "_i", getNumComponents(var.Type), output, partSelection); |
| 1553 | } |
| 1554 | break; |
| 1555 | |
| 1556 | case VariableType::ScalarPerElement: |
| 1557 | case VariableType::VectorPerElement: |
| 1558 | case VariableType::TensorSymmPerElement: |
| 1559 | case VariableType::TensorAsymPerElement: |
| 1560 | if (cellArraySelection->ArrayIsEnabled(var.Name.c_str())) |
| 1561 | { |
| 1562 | this->ReadVariableElements( |
| 1563 | var.File, var.Name, getNumComponents(var.Type), output, partSelection); |
| 1564 | } |
| 1565 | break; |
no test coverage detected