From 3c4261be373bd19d2c071b317e8c546cea8b2805 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Thu, 24 Jun 2021 09:28:01 +0100 Subject: [PATCH] viewFactorsGen: Write VTK directly without a system call --- .../preProcessing/viewFactorsGen/Make/options | 6 ++- .../viewFactorsGen/viewFactorsGen.C | 39 +++++++++++-------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/applications/utilities/preProcessing/viewFactorsGen/Make/options b/applications/utilities/preProcessing/viewFactorsGen/Make/options index b64f44712c..77036ae03b 100644 --- a/applications/utilities/preProcessing/viewFactorsGen/Make/options +++ b/applications/utilities/preProcessing/viewFactorsGen/Make/options @@ -1,12 +1,14 @@ EXE_INC = \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ -I$(LIB_SRC)/parallel/distributed/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ - -lfiniteVolume \ - -lmeshTools \ + -lfileFormats \ -ltriSurface \ -ldistributed \ + -lfiniteVolume \ + -lmeshTools \ -lradiationModels diff --git a/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C b/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C index a1da8660b4..c74d4347a6 100644 --- a/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C +++ b/applications/utilities/preProcessing/viewFactorsGen/viewFactorsGen.C @@ -53,6 +53,7 @@ Description #include "DynamicField.H" #include "scalarListIOList.H" #include "polygonTriangulate.H" +#include "vtkWritePolyData.H" using namespace Foam; @@ -159,29 +160,35 @@ void writeRays const labelListList& visibleFaceFaces ) { - OFstream str(fName); - label vertI = 0; - - Pout<< "Dumping rays to " << str.name() << endl; + DynamicList allPoints; + allPoints.append(myFc); + allPoints.append(compactCf); + DynamicList rays; forAll(myFc, facei) { const labelList visFaces = visibleFaceFaces[facei]; forAll(visFaces, faceRemote) { - label compactI = visFaces[faceRemote]; - const point& remoteFc = compactCf[compactI]; - - meshTools::writeOBJ(str, myFc[facei]); - vertI++; - meshTools::writeOBJ(str, remoteFc); - vertI++; - str << "l " << vertI-1 << ' ' << vertI << nl; + rays.append + ( + labelPair(facei, myFc.size() + visFaces[faceRemote]) + ); } } - string cmd("objToVTK " + fName + " " + fName.lessExt() + ".vtk"); - Pout<< "cmd:" << cmd << endl; - system(cmd); + + Pout<< "\nDumping rays to " << fName + ".vtk" << endl; + + vtkWritePolyData::write + ( + fName + ".vtk", + fName.name(), + false, + allPoints, + labelList(), + rays, + faceList() + ); } @@ -663,7 +670,7 @@ int main(int argc, char *argv[]) { writeRays ( - runTime.path()/"allVisibleFaces.obj", + runTime.path()/"allVisibleFaces", compactCoarseCf, remoteCoarseCf[Pstream::myProcNo()], visibleFaceFaces