vtkCPAdaptorAPI.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
3 #ifndef vtkCPAdaptorAPI_h
4 #define vtkCPAdaptorAPI_h
5 
6 #include "vtkObject.h"
7 #include "vtkPVCatalystModule.h" // For windows import/export of shared libraries
8 
10 class vtkCPProcessor;
11 class vtkDataSet;
12 
16 {
17 public:
18  vtkTypeMacro(vtkCPAdaptorAPI, vtkObject);
19  void PrintSelf(ostream& os, vtkIndent indent) override;
20 
22  static void CoProcessorInitialize();
23 
25  static void CoProcessorFinalize();
26 
29  static void RequestDataDescription(int* timeStep, double* time, int* coprocessThisTimeStep);
30 
34  static void NeedToCreateGrid(int* needGrid);
35 
38  static void CoProcess();
39 
42 
45 
46  vtkCPAdaptorAPI(const vtkCPAdaptorAPI&) = delete;
47  void operator=(const vtkCPAdaptorAPI&) = delete;
48 
49 protected:
51  ~vtkCPAdaptorAPI() override;
52 
55 
56  // IsTimeDataSet is meant to be used to make sure that
57  // needtocoprocessthistimestep() is called before
58  // calling any of the other coprocessing functions.
59  // It is reset to falase after calling coprocess as well
60  // as if coprocessing is not needed for this time/time step
61  static bool IsTimeDataSet;
62 };
63 #endif
static vtkCPProcessor * CoProcessor
vtkCPAdaptorAPI provides the implementation for API exposed to typical adaptor, such as C...
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static vtkCPDataDescription * GetCoProcessorData()
provides access to the vtkCPDataDescription instance.
static vtkCPDataDescription * CoProcessorData
#define VTKPVCATALYST_EXPORT
There are 3 distinct phases for the operation of a co-processor.
static vtkCPProcessor * GetCoProcessor()
provides access to the vtkCPProcessor instance.
void operator=(const vtkObjectBase &)
This class provides the description of the data for the coprocessor pipelines.
static bool IsTimeDataSet