60 #ifndef VTK_EXCLUDE_STRSTREAM_HEADERS 61 # define VTK_EXCLUDE_STRSTREAM_HEADERS 74 class vtkDataArraySelection;
77 class vtkPVFoamReader;
80 class vtkMultiBlockDataSet;
82 class vtkUnstructuredGrid;
99 template<
class Type>
class IOField;
100 template<
class Type>
class List;
120 arrayRange(
const char *
name,
const int blockNo=0)
135 int block(
int blockNo)
143 const char*
name()
const 157 return start_ + size_;
172 void reset(
const int startAt = 0)
179 void operator+=(
const int n)
213 return addPointCellLabels_;
217 const labelList& addPointCellLabels()
const 219 return addPointCellLabels_;
239 addPointCellLabels_.
clear();
248 vtkPVFoamReader* reader_;
280 arrayRange arrayRangeVolume_;
281 arrayRange arrayRangePatches_;
282 arrayRange arrayRangeLagrangian_;
283 arrayRange arrayRangeCellZones_;
284 arrayRange arrayRangeFaceZones_;
285 arrayRange arrayRangePointZones_;
286 arrayRange arrayRangeCellSets_;
287 arrayRange arrayRangeFaceSets_;
288 arrayRange arrayRangePointSets_;
307 static void AddToBlock
309 vtkMultiBlockDataSet* output,
312 const label datasetNo,
313 const std::string& datasetName
318 static vtkDataSet* GetDataSetFromBlock
320 vtkMultiBlockDataSet* output,
322 const label datasetNo
327 static label GetNumberOfDataSets
329 vtkMultiBlockDataSet* output,
334 void resetCounters();
339 void updateMeshPartsStatus();
342 void updateInfoInternalMesh(vtkDataArraySelection*);
345 void updateInfoLagrangian(vtkDataArraySelection*);
348 void updateInfoPatches(vtkDataArraySelection*,
stringList&);
351 void updateInfoSets(vtkDataArraySelection*);
354 void updateInfoZones(vtkDataArraySelection*);
360 template<
class ZoneType>
370 vtkDataArraySelection*,
376 template<
template<
class>
class patchType,
class meshType>
377 void updateInfoFields(vtkDataArraySelection*);
380 void updateInfoLagrangianFields();
386 void updateFoamMesh();
392 void updateVolFields(vtkMultiBlockDataSet*);
395 void updatePointFields(vtkMultiBlockDataSet*);
398 void updateLagrangianFields(vtkMultiBlockDataSet*);
404 void convertMeshVolume(vtkMultiBlockDataSet*,
int& blockNo);
407 void convertMeshLagrangian(vtkMultiBlockDataSet*,
int& blockNo);
410 void convertMeshPatches(vtkMultiBlockDataSet*,
int& blockNo);
413 void convertMeshCellZones(vtkMultiBlockDataSet*,
int& blockNo);
416 void convertMeshFaceZones(vtkMultiBlockDataSet*,
int& blockNo);
419 void convertMeshPointZones(vtkMultiBlockDataSet*,
int& blockNo);
422 void convertMeshCellSets(vtkMultiBlockDataSet*,
int& blockNo);
425 void convertMeshFaceSets(vtkMultiBlockDataSet*,
int& blockNo);
428 void convertMeshPointSets(vtkMultiBlockDataSet*,
int& blockNo);
434 vtkUnstructuredGrid* volumeVTKMesh(
const fvMesh&, polyDecomp&);
437 vtkPolyData* lagrangianVTKMesh
444 template<
class PatchType>
445 vtkPolyData* patchVTKMesh(
const word&
name,
const PatchType&);
448 vtkPolyData* pointZoneVTKMesh
455 vtkPolyData* faceSetVTKMesh
462 vtkPolyData* pointSetVTKMesh
471 void convertVolFields(vtkMultiBlockDataSet*);
474 void convertPointFields(vtkMultiBlockDataSet*);
477 void convertLagrangianFields(vtkMultiBlockDataSet*);
482 template<
class GeoField>
483 label addObjectsToSelection
485 vtkDataArraySelection*,
495 void convertVolFields
500 const bool interpFields,
501 vtkMultiBlockDataSet* output
506 void convertVolFieldBlock
510 vtkMultiBlockDataSet* output,
520 vtkMultiBlockDataSet* output,
522 const label datasetNo,
528 void convertPatchField
532 vtkMultiBlockDataSet* output,
534 const label datasetNo
539 void convertFaceField
542 vtkMultiBlockDataSet* output,
544 const label datasetNo,
551 void convertLagrangianFields
554 vtkMultiBlockDataSet* output,
555 const label datasetNo
560 void convertLagrangianField
563 vtkMultiBlockDataSet* output,
565 const label datasetNo
570 void convertPointFields
575 vtkMultiBlockDataSet* output
580 void convertPointFieldBlock
583 vtkMultiBlockDataSet* output,
590 void convertPointField
594 vtkMultiBlockDataSet* output,
596 const label datasetNo,
602 void convertPatchPointField
606 vtkMultiBlockDataSet* output,
608 const label datasetNo
615 static void pruneObjectList
622 static wordHashSet getSelected(vtkDataArraySelection*);
627 vtkDataArraySelection*,
632 static stringList getSelectedArrayEntries(vtkDataArraySelection*);
637 vtkDataArraySelection*,
642 static void setSelectedArrayEntries
644 vtkDataArraySelection*,
649 word getPartName(
const int);
671 const char*
const FileName,
672 vtkPVFoamReader* reader
687 vtkMultiBlockDataSet* output,
688 vtkMultiBlockDataSet* lagrangianOutput
704 int setTime(
int count,
const double requestTimes[]);
717 void PrintSelf(ostream&, vtkIndent)
const;
A HashTable with keys but without contents.
Interpolation class within a primitive patch. Allows interpolation from points to faces and vice vers...
int timeIndex() const
The current time index.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static void printMemory()
Simple memory used debugging information.
A class for handling file names.
List of IOobjects with searching and retrieving facilities.
labelList pointLabels(nPoints, -1)
Provides a reader interface for OpenFOAM to VTK interaction.
double * findTimes(int &nTimeSteps)
Allocate and return a list of selected times.
void renderPatchNames(vtkRenderer *, const bool show)
Add/remove patch names to/from the view.
Generic GeometricField class.
void PrintSelf(ostream &, vtkIndent) const
Debug information.
void Update(vtkMultiBlockDataSet *output, vtkMultiBlockDataSet *lagrangianOutput)
Mesh representing a set of points created from polyMesh.
ClassName("vtkPVFoam")
Static data members.
void CleanUp()
Clean any storage.
Pre-declare SubField and related Field type.
void clear()
Clear the list, i.e. set size to zero.
A class for handling words, derived from string.
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
static const string null
An empty string.
word name(const complex &)
Return a string representation of a complex.
int setTime(int count, const double requestTimes[])
Set the runTime to the first plausible request time,.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Macro definitions for declaring ClassName(), NamespaceName(), etc.
Mesh data needed to do the Finite Volume discretisation.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const word cloudName(propsDict.lookup("cloudName"))
A primitive field of type <T> with automated input and output.