VTK  9.3.20240425
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
20namespace OpenQube
21{
22class Molecule;
23class BasisSet;
24}
25
26VTK_ABI_NAMESPACE_BEGIN
27class vtkMolecule;
28
29class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeMoleculeSource : public vtkDataReader
30{
31public:
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
78protected:
81
84
85 char* FileName;
86 OpenQube::BasisSet* BasisSet;
88
93 void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule* oqmol, vtkMolecule* mol);
94
95private:
97 void operator=(const vtkOpenQubeMoleculeSource&) = delete;
98};
99
100VTK_ABI_NAMESPACE_END
101#endif
helper superclass for objects that read vtk data files
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.
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.
static vtkOpenQubeMoleculeSource * New()