VTK
vtkMoleculeAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMoleculeAlgorithm.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkMoleculeAlgorithm_h
34 #define vtkMoleculeAlgorithm_h
35 
36 #include "vtkDomainsChemistryModule.h" // For export macro
37 #include "vtkAlgorithm.h"
38 
39 class vtkDataSet;
40 class vtkMolecule;
41 
42 class VTKDOMAINSCHEMISTRY_EXPORT vtkMoleculeAlgorithm : public vtkAlgorithm
43 {
44 public:
45  static vtkMoleculeAlgorithm *New();
47  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
48 
50 
53  vtkMolecule* GetOutput();
54  vtkMolecule* GetOutput(int);
55  virtual void SetOutput(vtkMolecule* d);
57 
63  vtkInformationVector*) VTK_OVERRIDE;
64 
65  // this method is not recommended for use, but lots of old style filters
66  // use it
67  vtkDataObject* GetInput();
68  vtkDataObject *GetInput(int port);
69  vtkMolecule *GetMoleculeInput(int port);
70 
72 
81  void SetInputData(vtkDataObject *);
82  void SetInputData(int, vtkDataObject*);
84 
86 
92  void AddInputData(vtkDataObject *);
93  void AddInputData(int, vtkDataObject*);
95 
96 protected:
98  ~vtkMoleculeAlgorithm() VTK_OVERRIDE;
99 
100  // convenience method
101  virtual int RequestInformation(vtkInformation* request,
102  vtkInformationVector** inputVector,
103  vtkInformationVector* outputVector);
104 
109  virtual int RequestData(vtkInformation* request,
110  vtkInformationVector** inputVector,
111  vtkInformationVector* outputVector);
112 
117  virtual int RequestUpdateExtent(vtkInformation*,
119  vtkInformationVector*);
120 
121  // see algorithm for more info
122  int FillOutputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
123  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
124 
125 private:
126  vtkMoleculeAlgorithm(const vtkMoleculeAlgorithm&) VTK_DELETE_FUNCTION;
127  void operator=(const vtkMoleculeAlgorithm&) VTK_DELETE_FUNCTION;
128 };
129 
130 #endif
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:90
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for algorithms that operate on vtkMolecules.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:59
a simple class to control print indentation
Definition: vtkIndent.h:39
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:64