From 4ea1f8f98ac57a1f7c73927560759bcfca82597e Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 30 Apr 2010 12:36:49 +0200 Subject: [PATCH] ENH: enable vtkPolyhedron support when detected --- .../PV3FoamReader/vtkPV3FoamReader.cxx | 4 +- .../PV3FoamReader/vtkPV3FoamReader.h | 18 ++--- .../PV3FoamReader/vtkPV3Foam/Make/options | 12 ++- .../vtkPV3Foam/vtkOpenFOAMPoints.H | 2 +- .../PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C | 14 ++-- .../PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H | 10 +-- .../vtkPV3Foam/vtkPV3FoamAddToSelection.H | 2 +- .../vtkPV3Foam/vtkPV3FoamFields.C | 12 ++- .../PV3FoamReader/vtkPV3Foam/vtkPV3FoamMesh.C | 2 +- .../vtkPV3Foam/vtkPV3FoamMeshLagrangian.C | 2 +- .../vtkPV3Foam/vtkPV3FoamMeshPatch.C | 4 +- .../vtkPV3Foam/vtkPV3FoamMeshSet.C | 4 +- .../vtkPV3Foam/vtkPV3FoamMeshVolume.C | 79 +++++++++++-------- .../vtkPV3Foam/vtkPV3FoamMeshZone.C | 4 +- .../vtkPV3Foam/vtkPV3FoamPointFields.H | 2 +- .../vtkPV3Foam/vtkPV3FoamUpdateInfo.C | 2 +- .../vtkPV3Foam/vtkPV3FoamUtils.C | 2 +- .../vtkPV3Foam/vtkPV3FoamVolFields.H | 2 +- .../vtkPV3blockMeshReader.cxx | 4 +- .../vtkPV3blockMesh/vtkPV3blockMesh.C | 6 +- .../vtkPV3blockMesh/vtkPV3blockMesh.H | 8 +- .../vtkPV3blockMesh/vtkPV3blockMeshConvert.C | 4 +- .../PV3Readers/vtkPV3Readers/vtkPV3Readers.C | 2 +- .../graphics/ensightFoamReader/libuserd.C | 2 +- .../fieldview9Reader/fieldview9Reader.C | 4 +- .../fieldview9Reader/readerDatabase.H | 2 +- 26 files changed, 121 insertions(+), 88 deletions(-) diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx index d964ad78d3..5198de5eb1 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.cxx @@ -39,7 +39,7 @@ License #include "vtkStreamingDemandDrivenPipeline.h" #include "vtkStringArray.h" -// Foam includes +// OpenFOAM includes #include "vtkPV3Foam.H" #undef EXPERIMENTAL_TIME_CACHING @@ -413,7 +413,7 @@ int vtkPV3FoamReader::RequestData #endif - // Do any cleanup on the Foam side + // Do any cleanup on the OpenFOAM side foamData_->CleanUp(); return 1; diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h index d1dc2f7209..dc91b2e277 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/PV3FoamReader/vtkPV3FoamReader.h @@ -47,7 +47,7 @@ SourceFiles class vtkDataArraySelection; class vtkCallbackCommand; -// Foam forward declarations +// OpenFOAM forward declarations namespace Foam { class vtkPV3Foam; @@ -78,16 +78,16 @@ public: vtkGetStringMacro(FileName); // Description: - // FOAM mesh caching control + // OpenFOAM mesh caching control vtkSetMacro(CacheMesh, int); vtkGetMacro(CacheMesh, int); // Description: - // FOAM refresh times/fields + // OpenFOAM refresh times/fields virtual void SetRefresh(int); // Description: - // FOAM Skip/include the 0/ time directory + // OpenFOAM skip/include the 0/ time directory vtkSetMacro(SkipZeroTime, int); vtkGetMacro(SkipZeroTime, int); @@ -97,27 +97,27 @@ public: vtkGetMacro(UpdateGUI, int); // Description: - // FOAM extrapolate internal values onto the patches + // OpenFOAM extrapolate internal values onto the patches vtkSetMacro(ExtrapolatePatches, int); vtkGetMacro(ExtrapolatePatches, int); // Description: - // FOAM use vtkPolyhedron instead of decomposing polyhedra + // OpenFOAM use vtkPolyhedron instead of decomposing polyhedra vtkSetMacro(UseVTKPolyhedron, int); vtkGetMacro(UseVTKPolyhedron, int); // Description: - // FOAM read sets control + // OpenFOAM read sets control virtual void SetIncludeSets(int); vtkGetMacro(IncludeSets, int); // Description: - // FOAM read zones control + // OpenFOAM read zones control virtual void SetIncludeZones(int); vtkGetMacro(IncludeZones, int); // Description: - // FOAM display patch names control + // OpenFOAM display patch names control virtual void SetShowPatchNames(int); vtkGetMacro(ShowPatchNames, int); diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/Make/options b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/Make/options index 48e0c4a9a3..b10a420add 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/Make/options +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/Make/options @@ -1,10 +1,18 @@ +/* Note: enable vtkPolyhedron when available */ + +PARAVIEW_INC=$(ParaView_DIR)/include/paraview-$(ParaView_MAJOR) + EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ - -I$(ParaView_DIR)/include/paraview-$(ParaView_MAJOR) \ -I../../vtkPV3Readers/lnInclude \ - -I../PV3FoamReader + -I../PV3FoamReader \ + -I$(PARAVIEW_INC) \ + $(shell \ + test -f $(PARAVIEW_INC)/vtkPolyhedron.h && \ + echo "-DHAS_VTK_POLYHEDRON" || echo "-UHAS_VTK_POLYHEDRON" \ + ) LIB_LIBS = \ -lvtkPV3Readers \ diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMPoints.H b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMPoints.H index f518ecfaf3..d6489ec11e 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMPoints.H +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkOpenFOAMPoints.H @@ -56,7 +56,7 @@ inline void vtkSetOpenFOAMPoint } -// Convert Foam mesh vertices to VTK +// Convert OpenFOAM mesh vertices to VTK inline vtkPoints* vtkSetOpenFOAMPoints(const Foam::pointField& points) { vtkPoints *vtkpoints = vtkPoints::New(); diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C index c94572f729..1a01cb6564 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C @@ -26,7 +26,7 @@ License #include "vtkPV3Foam.H" #include "vtkPV3FoamReader.h" -// Foam includes +// OpenFOAM includes #include "fvMesh.H" #include "Time.H" #include "patchZones.H" @@ -426,12 +426,12 @@ void Foam::vtkPV3Foam::updateFoamMesh() meshPtr_ = NULL; } - // Check to see if the FOAM mesh has been created + // Check to see if the OpenFOAM mesh has been created if (!meshPtr_) { if (debug) { - Info<< "Creating Foam mesh for region " << meshRegion_ + Info<< "Creating OpenFOAM mesh for region " << meshRegion_ << " at time=" << dbPtr_().timeName() << endl; @@ -454,7 +454,7 @@ void Foam::vtkPV3Foam::updateFoamMesh() { if (debug) { - Info<< "Using existing Foam mesh" << endl; + Info<< "Using existing OpenFOAM mesh" << endl; } } @@ -488,7 +488,7 @@ void Foam::vtkPV3Foam::Update reader_->UpdateProgress(0.15); - // Update the Foam mesh + // Update the OpenFOAM mesh updateFoamMesh(); reader_->UpdateProgress(0.4); @@ -527,6 +527,10 @@ void Foam::vtkPV3Foam::Update convertVolFields(output); convertPointFields(output); convertLagrangianFields(lagrangianOutput); + if (debug) + { + Info<< "done reader part" << endl; + } reader_->UpdateProgress(0.95); meshChanged_ = fieldsChanged_ = false; diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H index 7b874029d6..62e7d42ed1 100644 --- a/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H +++ b/applications/utilities/postProcessing/graphics/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.H @@ -89,7 +89,7 @@ class vtkIndent; namespace Foam { -// Foam class forward declarations +// OpenFOAM class forward declarations class argList; class Time; class fvMesh; @@ -249,10 +249,10 @@ class vtkPV3Foam //- Access to the controlling vtkPV3FoamReader vtkPV3FoamReader* reader_; - //- Foam time control + //- OpenFOAM time control autoPtr