VTK  9.3.20240419
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 
43 
45 
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
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:44
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:84
Read a OpenQube readable file and output a vtkMolecule object.
static vtkOpenQubeMoleculeSource * New()
void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule *oqmol, vtkMolecule *mol)
Copy the OpenQube::Molecule object oqmol into the provided vtkMolecule object mol.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetOutput(vtkMolecule *)
Get/Set the output (vtkMolecule) that the reader will fill.
int FillOutputPortInformation(int, vtkInformation *)
Fill the output port information objects for this algorithm.
virtual void SetBasisSet(OpenQube::BasisSet *b)
Get/Set the OpenQube BasisSet object to read from.
vtkGetFilePathMacro(FileName)
Get/Set the name of the OpenQube readable file.
vtkSetFilePathMacro(FileName)
Get/Set the name of the OpenQube readable file.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkMolecule * GetOutput()
Get/Set the output (vtkMolecule) that the reader will fill.