VTK  9.3.20240418
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:
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
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:162
general representation of visualization data
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:69
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Producer for stand-alone data objects.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkTrivialProducer * New()
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Process upstream/downstream requests trivially.
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
#define VTK_MARSHALSETTER(property)
#define VTK_MARSHALAUTO