27 #include "vtkPVFoamReader.h"
28 #include "vtkOpenFOAMPoints.H"
38 #include "vtkCellArray.h"
39 #include "vtkPoints.h"
40 #include "vtkPolyData.h"
44 vtkPolyData* Foam::vtkPVFoam::lagrangianVTKMesh
46 const word& lagrangianName,
47 autoPtr<lagrangianFieldReconstructor>& lreconstructorPtr
50 vtkPolyData* vtkmesh =
nullptr;
52 if (reader_->GetDecomposedCase())
54 lreconstructorPtr.reset
56 new lagrangianFieldReconstructor
58 procMeshesPtr_->completeMesh(),
59 procMeshesPtr_->procMeshes(),
60 procMeshesPtr_->procFaceAddressing(),
61 procMeshesPtr_->procCellAddressing(),
67 autoPtr<passiveParticleCloud> tcloud
69 reader_->GetDecomposedCase()
70 ? lreconstructorPtr->completeCloud().ptr()
71 :
new passiveParticleCloud
73 procMeshesPtr_->completeMesh(),
78 const passiveParticleCloud& cloud = tcloud();
84 vtkpoints->Allocate(cloud.size());
85 vtkcells->Allocate(cloud.size());
87 vtkIdType particleId = 0;
92 vtkcells->InsertNextCell(1, &particleId);
96 vtkmesh->SetPoints(vtkpoints);
99 vtkmesh->SetVerts(vtkcells);
106 vtkPolyData* Foam::vtkPVFoam::LagrangianVTKMesh
108 const word& LagrangianName,
109 autoPtr<LagrangianMesh>& LmeshPtr,
110 autoPtr<LagrangianFieldReconstructor>& LreconstructorPtr
113 vtkPolyData* vtkmesh =
nullptr;
115 if (reader_->GetDecomposedCase())
117 LreconstructorPtr.reset
119 new LagrangianFieldReconstructor
121 procMeshesPtr_->completeMesh(),
122 procMeshesPtr_->procMeshes(),
123 procMeshesPtr_->procFaceAddressing(),
124 procMeshesPtr_->procCellAddressing(),
133 new LagrangianMesh(procMeshesPtr_->completeMesh(), LagrangianName)
137 const LagrangianMesh& Lmesh =
138 reader_->GetDecomposedCase()
139 ? LreconstructorPtr().completeMesh()
149 vtkpoints->Allocate(Lmesh.size());
150 vtkcells->Allocate(Lmesh.size());
152 for (vtkIdType i = 0; i < Lmesh.size(); ++ i)
156 vtkcells->InsertNextCell(1, &i);
159 vtkmesh->SetPoints(vtkpoints);
162 vtkmesh->SetVerts(vtkcells);
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
point position(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the position given the coordinates and tet topology.
LagrangianInternalField< vector > LagrangianVectorInternalField
void vtkInsertNextOpenFOAMPoint(vtkPoints *points, const Foam::point &p)