VTK  9.7.1
vtkTrivialProducer.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
17 #ifndef vtkTrivialProducer_h
18 #define vtkTrivialProducer_h
19 
20 #include "vtkAlgorithm.h"
21 #include "vtkCommonExecutionModelModule.h" // For export macro
22 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 class vtkDataObject;
26 
27 class VTKCOMMONEXECUTIONMODEL_EXPORT VTK_MARSHALAUTO vtkTrivialProducer : public vtkAlgorithm
28 {
29 public:
30  static vtkTrivialProducer* New();
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
41 
46  VTK_MARSHALSETTER(OutputDataObject)
47  virtual void SetOutput(vtkDataObject* output);
48 
53  vtkMTimeType GetMTime() override;
54 
56 
61  vtkSetVector6Macro(WholeExtent, int);
62  vtkGetVector6Macro(WholeExtent, int);
64 
70  static void FillOutputDataInformation(vtkDataObject* output, vtkInformation* outInfo);
71 
72 protected:
74  ~vtkTrivialProducer() override;
75 
76  int FillInputPortInformation(int, vtkInformation*) override;
77  int FillOutputPortInformation(int, vtkInformation*) override;
78  vtkExecutive* CreateDefaultExecutive() override;
79 
80  // The real data object.
81  vtkDataObject* Output;
82 
83  int WholeExtent[6];
84 
85  void ReportReferences(vtkGarbageCollector*) override;
86 
87 private:
88  vtkTrivialProducer(const vtkTrivialProducer&) = delete;
89  void operator=(const vtkTrivialProducer&) = delete;
90 };
91 
92 VTK_ABI_NAMESPACE_END
93 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:39
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Detect and break reference loops.
int vtkTypeBool
Definition: vtkABI.h:64
virtual vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:53
Producer for stand-alone data objects.
a simple class to control print indentation
Definition: vtkIndent.h:28
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
#define VTK_MARSHALAUTO
general representation of visualization data
Definition: vtkDataObject.h:55
#define VTK_MARSHALSETTER(property)