| 1759 | std::vector<std::tuple<std::string, Ioss::Field::BasicType, int>> Fields; |
| 1760 | |
| 1761 | vtkEntitySet(vtkPartitionedDataSet* pds, vtkIOSSWriter::EntityType entityType, |
| 1762 | const std::string& name, int blockId, vtkMultiProcessController* controller, |
| 1763 | vtkIOSSWriter* writer) |
| 1764 | : vtkGroupingEntity(writer) |
| 1765 | , DataSets(vtkCompositeDataSet::GetDataSets<vtkDataSet>(pds)) |
| 1766 | , Name(name) |
| 1767 | , BlockId(blockId) |
| 1768 | , Count(0) |
| 1769 | { |
| 1770 | for (auto& ds : this->DataSets) |
| 1771 | { |
| 1772 | // no need to check for global IDs |
| 1773 | auto elementSide = vtkIntArray::SafeDownCast(ds->GetCellData()->GetArray("element_side")); |
| 1774 | if (!elementSide && ds->GetNumberOfCells() != 0) |
| 1775 | { |
| 1776 | throw std::runtime_error("missing 'element_side' cell array."); |
| 1777 | } |
| 1778 | |
| 1779 | this->Count += ds->GetNumberOfCells(); |
| 1780 | } |
| 1781 | this->Fields = ::GetFields(vtkDataObject::CELL, writer->GetChooseFieldsToWrite(), |
| 1782 | writer->GetFieldSelection(entityType), pds, controller); |
| 1783 | } |
| 1784 | |
| 1785 | void AppendMD5(vtksysMD5* md5) const override |
| 1786 | { |
nothing calls this directly
no test coverage detected