ENH: improve file reader support for runTimePostProcessing (#1091)

- support .vtp format for geometry, surface, line, cloud.

- use native reader for handling vtk, vtp, obj, stl surface files.
  For other formats, use the MeshedSurface (the surfMesh lib) to
  handle reading and Foam::vtk::Tools::Patch to handle the
  conversion to vtkPolyData. This combination is more memory efficient.

- update tutorial case to include vtp surface geometry
This commit is contained in:
Mark Olesen
2018-12-16 19:14:22 +01:00
parent b6983e6af5
commit c3507f74f2
33 changed files with 681 additions and 441 deletions

View File

@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::geometrySurface
Foam::functionObjects::runTimePostPro::geometrySurface
Description
Visualisation of surface geometry data
@ -39,6 +39,7 @@ SourceFiles
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Forward declarations
class vtkPolyData;
namespace Foam
@ -56,17 +57,6 @@ class geometrySurface
:
public surface
{
private:
// Private Member Functions
//- No copy construct
geometrySurface(const geometrySurface&) = delete;
//- No copy assignment
void operator=(const geometrySurface&) = delete;
protected:
// Protected data
@ -85,6 +75,12 @@ protected:
const fileName& fName
) const;
//- No copy construct
geometrySurface(const geometrySurface&) = delete;
//- No copy assignment
void operator=(const geometrySurface&) = delete;
public:
@ -99,7 +95,7 @@ public:
(
const runTimePostProcessing& parent,
const dictionary& dict,
const HashPtrTable<Function1<vector>, word>& colours
const HashPtrTable<Function1<vector>>& colours
);
//- Construct from components
@ -107,18 +103,18 @@ public:
(
const runTimePostProcessing& parent,
const dictionary& dict,
const HashPtrTable<Function1<vector>, word>& colours,
const HashPtrTable<Function1<vector>>& colours,
const List<fileName>& fileNames
);
//- Destructor
virtual ~geometrySurface();
virtual ~geometrySurface() = default;
// Member Functions
//- Add surface(s) to scene
//- Add geometry surface(s) to scene
virtual void addGeometryToScene
(
const scalar position,