VTK  9.7.1
vtkmExternalFaces.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3 // SPDX-FileCopyrightText: Copyright 2012 Sandia Corporation.
4 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
17 #ifndef vtkmExternalFaces_h
18 #define vtkmExternalFaces_h
19 
20 #include "vtkAcceleratorsVTKmFiltersModule.h" //required for correct implementation
21 #include "vtkAlgorithm.h"
22 #include "vtkmAlgorithm.h" // For vtkmAlgorithm
23 #include "vtkmlib/vtkmInitializer.h" // Need for initializing viskores
24 
25 #ifndef __VTK_WRAP__
26 #define vtkAlgorithm vtkmAlgorithm<vtkAlgorithm>
27 #endif
28 
29 VTK_ABI_NAMESPACE_BEGIN
31 
32 class VTKACCELERATORSVTKMFILTERS_EXPORT vtkmExternalFaces : public vtkAlgorithm
33 {
34 public:
36 #ifndef __VTK_WRAP__
37 #undef vtkAlgorithm
38 #endif
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40  static vtkmExternalFaces* New();
41 
45  void SetInputData(vtkUnstructuredGrid* ds);
46 
50  vtkUnstructuredGrid* GetOutput();
51 
53 
58  vtkSetMacro(CompactPoints, bool);
59  vtkGetMacro(CompactPoints, bool);
60  vtkBooleanMacro(CompactPoints, bool);
62 
63 protected:
65  ~vtkmExternalFaces() override;
66 
67  int FillInputPortInformation(int, vtkInformation*) override;
68  int FillOutputPortInformation(int, vtkInformation*) override;
69 
72  virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
73 
75 
76 private:
77  vtkmExternalFaces(const vtkmExternalFaces&) = delete;
78  void operator=(const vtkmExternalFaces&) = delete;
79  vtkmInitializer Initializer;
80 };
81 
82 VTK_ABI_NAMESPACE_END
83 #endif // vtkmExternalFaces_h
generate External Faces of a DataSet
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
dataset represents arbitrary combinations of all possible cell types
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()