56 #ifndef VTK_EXCLUDE_STRSTREAM_HEADERS
57 #define VTK_EXCLUDE_STRSTREAM_HEADERS
76 class vtkDataArraySelection;
79 class vtkPVFoamReader;
82 class vtkMultiBlockDataSet;
84 class vtkUnstructuredGrid;
95 class processorRunTimes;
96 class domainDecomposition;
102 class fvFieldReconstructor;
103 class pointFieldReconstructor;
104 class lagrangianFieldReconstructor;
105 class LagrangianMesh;
106 class LagrangianFieldReconstructor;
126 arrayRange(
const char *
name,
const int blockNo=0)
141 int block(
int blockNo)
149 const char*
name()
const
163 return start_ + size_;
178 void reset(
const int startAt = 0)
219 return addPointCellLabels_;
223 const labelList& addPointCellLabels()
const
225 return addPointCellLabels_;
245 addPointCellLabels_.
clear();
254 vtkPVFoamReader* reader_;
289 arrayRange arrayRangeVolume_;
290 arrayRange arrayRangePatches_;
291 arrayRange arrayRangelagrangian_;
292 arrayRange arrayRangeLagrangian_;
293 arrayRange arrayRangeCellZones_;
294 arrayRange arrayRangeFaceZones_;
295 arrayRange arrayRangePointZones_;
296 arrayRange arrayRangeCellSets_;
297 arrayRange arrayRangeFaceSets_;
298 arrayRange arrayRangePointSets_;
332 static void AddToBlock
334 vtkMultiBlockDataSet* output,
337 const label datasetNo,
338 const std::string& datasetName
343 static vtkDataSet* GetDataSetFromBlock
345 vtkMultiBlockDataSet* output,
347 const label datasetNo
352 static label GetNumberOfDataSets
354 vtkMultiBlockDataSet* output,
362 void topoChangePartsStatus();
365 void updateInfoInternalMesh(vtkDataArraySelection*);
368 void updateInfolagrangian(vtkDataArraySelection*);
371 void updateInfoLagrangian(vtkDataArraySelection*);
374 void updateInfoPatches
376 vtkDataArraySelection*,
382 void updateInfoSets(vtkDataArraySelection*);
385 void updateInfoZones(vtkDataArraySelection*);
388 template<
class ZonesType>
392 template<
class ZonesType>
393 wordList getZoneNames(
const ZonesType&)
const;
399 vtkDataArraySelection*,
405 template<
class meshType>
406 void addFieldsToSelection
408 vtkDataArraySelection *select,
414 template<
class meshType>
415 void addInternalFieldsToSelection
417 vtkDataArraySelection *select,
423 void updateInfoFields();
426 void updateInfolagrangianFields();
429 void updateInfoLagrangianFields();
435 void clearReconstructors();
440 void clearFoamMesh();
443 void updateFoamMesh();
446 void resetCounters();
452 void updateVolFields(vtkMultiBlockDataSet*);
455 void updatePointFields(vtkMultiBlockDataSet*);
458 void updatelagrangianFields(vtkMultiBlockDataSet*);
461 void updateLagrangianFields(vtkMultiBlockDataSet*);
467 void convertMeshVolume(vtkMultiBlockDataSet*,
int& blockNo);
470 void convertMeshlagrangian(vtkMultiBlockDataSet*,
int& blockNo);
473 void convertMeshLagrangian(vtkMultiBlockDataSet*,
int& blockNo);
476 void convertMeshPatches(vtkMultiBlockDataSet*,
int& blockNo);
479 void convertMeshCellZones(vtkMultiBlockDataSet*,
int& blockNo);
482 void convertMeshFaceZones(vtkMultiBlockDataSet*,
int& blockNo);
485 void convertMeshPointZones(vtkMultiBlockDataSet*,
int& blockNo);
488 void convertMeshCellSets(vtkMultiBlockDataSet*,
int& blockNo);
491 void convertMeshFaceSets(vtkMultiBlockDataSet*,
int& blockNo);
494 void convertMeshPointSets(vtkMultiBlockDataSet*,
int& blockNo);
500 vtkUnstructuredGrid* volumeVTKMesh(
const fvMesh&, polyDecomp&);
503 vtkPolyData* lagrangianVTKMesh
510 vtkPolyData* LagrangianVTKMesh
518 template<
class PatchType>
519 vtkPolyData* patchVTKMesh(
const PatchType&);
534 void convertFields(vtkMultiBlockDataSet*);
537 void convertlagrangianFields(vtkMultiBlockDataSet*);
540 void convertLagrangianFields(vtkMultiBlockDataSet*);
545 template<
class GeoField>
546 label addObjectsToSelection
548 vtkDataArraySelection*,
558 void convertVolFields
562 const bool interpFields,
563 vtkMultiBlockDataSet* output
568 void convertVolInternalFields
571 vtkMultiBlockDataSet* output
576 void convertVolFieldBlock
580 vtkMultiBlockDataSet* output,
587 void convertVolInternalFieldBlock
590 vtkMultiBlockDataSet* output,
597 void convertVolInternalField
600 vtkMultiBlockDataSet* output,
602 const label datasetNo,
608 void convertPatchField
612 vtkMultiBlockDataSet* output,
614 const label datasetNo
619 void convertSurfaceField
622 vtkMultiBlockDataSet* output,
624 const label datasetNo,
631 void convertSurfaceField
634 vtkMultiBlockDataSet* output,
635 const arrayRange&
range,
636 const label datasetNo,
643 void convertSurfaceFields
646 vtkMultiBlockDataSet* output
651 void convertlagrangianFields
654 vtkMultiBlockDataSet* output,
655 const label datasetNo
659 template<
class Type,
template<
class>
class GeoField>
660 void convertLagrangianFields
663 vtkMultiBlockDataSet* output,
664 const label datasetNo
669 void convertlagrangianField
672 vtkMultiBlockDataSet* output,
674 const label datasetNo
678 template<
class Type,
template<
class>
class GeoField>
679 void convertLagrangianField
681 const GeoField<Type>&,
682 vtkMultiBlockDataSet* output,
684 const label datasetNo
689 void convertPointFields
692 vtkMultiBlockDataSet* output
697 void convertPointFieldBlock
700 vtkMultiBlockDataSet* output,
707 void convertPointField
711 vtkMultiBlockDataSet* output,
713 const label datasetNo,
719 void convertPatchPointField
723 vtkMultiBlockDataSet* output,
725 const label datasetNo
732 static void pruneObjectList
748 static wordHashSet getSelected(vtkDataArraySelection*);
753 vtkDataArraySelection*,
760 vtkDataArraySelection*,
761 const bool debug = vtkPVFoam::debug
767 vtkDataArraySelection*,
769 const bool debug = vtkPVFoam::debug
773 static void setSelectedArrayEntries
775 vtkDataArraySelection*,
780 word getPartName(
const int);
795 const char*
const FileName,
796 vtkPVFoamReader* reader
815 vtkMultiBlockDataSet* output,
816 vtkMultiBlockDataSet* lagrangianOutput,
817 vtkMultiBlockDataSet* LagrangianOutput
845 void PrintSelf(ostream&, vtkIndent)
const;
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Pre-declare SubField and related Field type.
Generic GeometricField class.
A HashTable with keys but without contents.
A primitive field of type <Type> with automated input and output.
List of IOobjects with searching and retrieving facilities.
void clear()
Clear the list, i.e. set size to zero.
Interpolation class within a primitive patch. Allows interpolation from points to faces and vice vers...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A class for handling file names.
Mesh data needed to do the Finite Volume discretisation.
static const string null
An empty string.
Provides a reader interface for OpenFOAM to VTK interaction.
ClassName("vtkPVFoam")
Static data members.
double * findTimes(const bool first, int &nTimeSteps)
Allocate and return a list of selected times.
int setTime(int count, const double requestTimes[])
Set the runTime to the first plausible request time,.
void operator=(const vtkPVFoam &)=delete
Disallow default bitwise assignment.
void PrintSelf(ostream &, vtkIndent) const
Debug information.
int timeIndex() const
The current time index.
void Update(vtkMultiBlockDataSet *output, vtkMultiBlockDataSet *lagrangianOutput, vtkMultiBlockDataSet *LagrangianOutput)
Update.
void renderPatchNames(vtkRenderer *, const bool show)
Add/remove patch names to/from the view.
vtkPVFoam(const char *const FileName, vtkPVFoamReader *reader)
Construct from components.
void CleanUp()
Clean any storage.
void updateInfo()
Update information for selection dialogs.
A class for handling words, derived from string.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
labelList first(const UList< labelPair > &p)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
label count(const ListType &l, typename ListType::const_reference x)
Count the number of occurrences of a value in a list.
void operator+=(fvMatrix< Type > &fvEqn, const CarrierEqn< Type > &cEqn)
Add to a finite-volume equation.