VTK  9.7.1
MeshCachePipeline.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
4 #ifndef MeshCachePipeline_h
5 #define MeshCachePipeline_h
6 
7 #include "vtkNew.h"
8 #include "vtkType.h"
9 
10 #include <array>
11 
12 VTK_ABI_NAMESPACE_BEGIN
13 
15 class vtkDataObject;
19 
20 //------------------------------------------------------------------------------
27 {
28 public:
32 
33  virtual ~TestPipelineInterface() = default;
34 
38  void MarkConsumerModified();
39 
40  virtual vtkMTimeType GetOutputMeshMTime() = 0;
41  virtual vtkMTimeType GetInputMeshMTime() = 0;
42 
46  virtual void UpdateInputData(int start) = 0;
47 
51  virtual void MarkInputMeshModified() = 0;
52 
54 };
55 
61 {
62  vtkNew<vtkStaticDataSource> StaticMeshSource;
63 
64 public:
65  TestMeshPipeline(bool useGhost = false);
66  ~TestMeshPipeline() override = default;
67 
68  void UpdateInputData(int start) override;
69  void MarkInputMeshModified() override;
72  void SetUseGhosts(bool useghost);
73  void MarkGhostsModified();
74 };
75 
81 {
82  vtkNew<vtkStaticCompositeSource> StaticCompositeSource;
83 
84 public:
86  ~TestCompositePipeline() override = default;
87 
88  void UpdateInputData(int start) override;
89  void MarkInputMeshModified() override;
92 };
93 VTK_ABI_NAMESPACE_END
94 
95 #endif
vtkMTimeType GetInputMeshMTime() override
virtual ~TestPipelineInterface()=default
void InitializeCache(vtkDataObjectMeshCache *cache)
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
~TestCompositePipeline() override=default
void UpdateInputData(int start) override
Change data in input data array.
TestMeshPipeline(bool useGhost=false)
void SetUseGhosts(bool useghost)
vtkMTimeType GetOutputMeshMTime() override
Implement TestPipelineInterface.
Simple filter that will be our cache consumer.
virtual vtkMTimeType GetInputMeshMTime()=0
Implement TestPipelineInterface.
~TestMeshPipeline() override=default
void MarkInputMeshModified() override
Mark input mesh as modified.
void MarkInputMeshModified() override
Mark input mesh as modified.
void MarkGhostsModified()
virtual vtkMTimeType GetOutputMeshMTime()=0
vtkDataObject * GetFilterInputData()
vtkMTimeType GetOutputMeshMTime() override
virtual void UpdateInputData(int start)=0
Change data in input data array.
vtkDataObject * GetFilterOutputData()
void UpdateInputData(int start) override
Change data in input data array.
virtual void MarkInputMeshModified()=0
Mark input mesh as modified.
Simple source that create a composite (PartitionedDataSetCollection) of 2 polydata.
vtkNew< vtkConsumerDataFilter > ConsumerFilter
void MarkConsumerModified()
Mark filter as modified.
vtkDataObjectMeshCache is a class to store and reuse the mesh of a vtkDataSet, while forwarding data ...
vtkMTimeType GetInputMeshMTime() override
general representation of visualization data
Definition: vtkDataObject.h:55
Interface to provide a pipeline utility:
Simple source that create a polydata (triangle) with point data arrays: