VTK
vtkOpenQubeMoleculeSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenQubeMoleculeSource.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 =========================================================================*/
26 #ifndef vtkOpenQubeMoleculeSource_h
27 #define vtkOpenQubeMoleculeSource_h
28 
29 #include "vtkDomainsChemistryModule.h" // For export macro
30 #include "vtkDataReader.h"
31 
32 class vtkMolecule;
33 
34 namespace OpenQube
35 {
36  class Molecule;
37  class BasisSet;
38 }
39 
40 class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeMoleculeSource : public vtkDataReader
41 {
42 public:
43  static vtkOpenQubeMoleculeSource *New();
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48 
51  vtkMolecule *GetOutput();
52  void SetOutput(vtkMolecule *);
54 
56 
62  vtkSetStringMacro(FileName);
63  vtkGetStringMacro(FileName);
65 
67 
73  virtual void SetBasisSet(OpenQube::BasisSet *b);
74  vtkGetMacro(BasisSet, OpenQube::BasisSet*);
76 
78 
84  vtkSetMacro(CleanUpBasisSet, bool);
85  vtkGetMacro(CleanUpBasisSet, bool);
86  vtkBooleanMacro(CleanUpBasisSet, bool);
88 
89 protected:
92 
93  int RequestData(vtkInformation *, vtkInformationVector **,
95  int FillOutputPortInformation(int, vtkInformation*);
96 
97  char *FileName;
98  OpenQube::BasisSet *BasisSet;
100 
105  void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule *oqmol,
106  vtkMolecule *mol);
107 
108 private:
110  void operator=(const vtkOpenQubeMoleculeSource&) = delete;
111 };
112 
113 #endif
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:94
Read a OpenQube readable file and output a vtkMolecule object.
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:51
a simple class to control print indentation
Definition: vtkIndent.h:39
Store zero or more vtkInformation instances.