VTK  9.3.1
vtkOpenQubeMoleculeSource.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
14 #ifndef vtkOpenQubeMoleculeSource_h
15 #define vtkOpenQubeMoleculeSource_h
16 
17 #include "vtkDataReader.h"
18 #include "vtkDomainsChemistryModule.h" // For export macro
19 
20 namespace OpenQube
21 {
22 class Molecule;
23 class BasisSet;
24 }
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkMolecule;
28 
29 class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeMoleculeSource : public vtkDataReader
30 {
31 public:
34  void PrintSelf(ostream& os, vtkIndent indent);
35 
37 
40  vtkMolecule* GetOutput();
41  void SetOutput(vtkMolecule*);
43 
45 
51  vtkSetFilePathMacro(FileName);
52  vtkGetFilePathMacro(FileName);
54 
56 
62  virtual void SetBasisSet(OpenQube::BasisSet* b);
63  vtkGetMacro(BasisSet, OpenQube::BasisSet*);
65 
67 
73  vtkSetMacro(CleanUpBasisSet, bool);
74  vtkGetMacro(CleanUpBasisSet, bool);
75  vtkBooleanMacro(CleanUpBasisSet, bool);
77 
78 protected:
81 
84 
85  char* FileName;
86  OpenQube::BasisSet* BasisSet;
88 
93  void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule* oqmol, vtkMolecule* mol);
94 
95 private:
97  void operator=(const vtkOpenQubeMoleculeSource&) = delete;
98 };
99 
100 VTK_ABI_NAMESPACE_END
101 #endif
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:83
Read a OpenQube readable file and output a vtkMolecule object.
static vtkDataReader * New()
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:43
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
Store zero or more vtkInformation instances.