30 #include "vtkPV4blockMeshReader.h"
33 #include "vtkDataArraySelection.h"
34 #include "vtkDataSet.h"
35 #include "vtkMultiBlockDataSet.h"
36 #include "vtkInformation.h"
44 inline word getFirstWord(
const char* str)
53 return word(str,
n,
true);
71 vtkMultiBlockDataSet* output,
74 const label datasetNo,
75 const std::string& datasetName
78 const int blockNo =
range.block();
80 vtkDataObject* blockDO = output->GetBlock(blockNo);
81 vtkMultiBlockDataSet*
block = vtkMultiBlockDataSet::SafeDownCast(blockDO);
88 <<
"Block already has a vtkDataSet assigned to it"
94 output->SetBlock(blockNo,
block);
100 Info<<
"block[" << blockNo <<
"] has "
101 <<
block->GetNumberOfBlocks()
102 <<
" datasets prior to adding set " << datasetNo
103 <<
" with name: " << datasetName <<
endl;
106 block->SetBlock(datasetNo, dataset);
111 output->GetMetaData(blockNo)->Set
113 vtkCompositeDataSet::NAME(),
118 if (datasetName.size())
120 block->GetMetaData(datasetNo)->Set
122 vtkCompositeDataSet::NAME(),
131 vtkMultiBlockDataSet* output,
133 const label datasetNo
136 const int blockNo =
range.block();
138 vtkDataObject* blockDO = output->GetBlock(blockNo);
139 vtkMultiBlockDataSet*
block = vtkMultiBlockDataSet::SafeDownCast(blockDO);
143 return vtkDataSet::SafeDownCast(
block->GetBlock(datasetNo));
153 vtkMultiBlockDataSet* output,
157 const int blockNo =
range.block();
159 vtkDataObject* blockDO = output->GetBlock(blockNo);
160 vtkMultiBlockDataSet*
block = vtkMultiBlockDataSet::SafeDownCast(blockDO);
163 return block->GetNumberOfBlocks();
172 vtkDataArraySelection* select
175 int nElem = select->GetNumberOfArrays();
178 for (
int elemI=0; elemI < nElem; ++elemI)
180 if (select->GetArraySetting(elemI))
182 selections.
insert(getFirstWord(select->GetArrayName(elemI)));
192 vtkDataArraySelection* select,
196 int nElem = select->GetNumberOfArrays();
199 for (
int elemI =
range.start(); elemI <
range.end(); ++elemI)
201 if (select->GetArraySetting(elemI))
203 selections.
insert(getFirstWord(select->GetArrayName(elemI)));
213 vtkDataArraySelection* select
216 stringList selections(select->GetNumberOfArrays());
221 if (select->GetArraySetting(elemI))
223 selections[nElem++] = select->GetArrayName(elemI);
231 label nElem = select->GetNumberOfArrays();
233 for (
int elemI = 0; elemI < nElem; ++elemI)
235 Info<<
" \"" << select->GetArrayName(elemI) <<
"\"";
237 Info<<
" )\nselected(";
241 Info<<
" " << selections[elemI];
252 vtkDataArraySelection* select,
259 for (
int elemI =
range.start(); elemI <
range.end(); ++elemI)
261 if (select->GetArraySetting(elemI))
263 selections[nElem++] = select->GetArrayName(elemI);
272 for (
int elemI =
range.start(); elemI <
range.end(); ++elemI)
274 Info<<
" \"" << select->GetArrayName(elemI) <<
"\"";
276 Info<<
" )\nselected(";
280 Info<<
" " << selections[elemI];
291 vtkDataArraySelection* select,
295 const int nElem = select->GetNumberOfArrays();
296 select->DisableAllArrays();
299 for (
int elemI=0; elemI < nElem; ++elemI)
301 string arrayName(select->GetArrayName(elemI));
305 if (selections[elemI] == arrayName)
307 select->EnableArray(arrayName.c_str());
318 vtkDataArraySelection* selection
323 Info<<
"<beg> Foam::vtkPV4blockMesh::updateBoolListStatus" <<
endl;
326 const label nElem = selection->GetNumberOfArrays();
327 if (status.
size() != nElem)
335 const int setting = selection->GetArraySetting(elemI);
337 status[elemI] = setting;
341 Info<<
" part[" << elemI <<
"] = "
343 <<
" : " << selection->GetArrayName(elemI) <<
endl;
348 Info<<
"<end> Foam::vtkPV4blockMesh::updateBoolListStatus" <<
endl;