VTK
vtkOpenQubeElectronicData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenQubeElectronicData.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 =========================================================================*/
21 #ifndef vtkOpenQubeElectronicData_h
22 #define vtkOpenQubeElectronicData_h
23 
24 #include "vtkDomainsChemistryModule.h" // For export macro
26 #include "vtkNew.h" // for vtkNew
27 
28 namespace OpenQube {
29  class BasisSet;
30  class Cube;
31 }
32 
33 class vtkImageData;
35 
36 class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeElectronicData
38 {
39 public:
40  static vtkOpenQubeElectronicData *New();
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
47  vtkIdType GetNumberOfMOs();
48 
52  unsigned int GetNumberOfElectrons();
53 
58  vtkImageData * GetMO(vtkIdType orbitalNumber);
59 
64  vtkImageData * GetElectronDensity();
65 
67 
70  vtkSetMacro(BasisSet, OpenQube::BasisSet*);
71  vtkGetMacro(BasisSet, OpenQube::BasisSet*);
73 
75 
79  vtkSetMacro(Padding, double);
80  vtkGetMacro(Padding, double);
82 
84 
87  vtkSetMacro(Spacing, double);
88  vtkGetMacro(Spacing, double);
90 
92 
95  vtkGetNewMacro(Images, vtkDataSetCollection);
97 
101  virtual void DeepCopy(vtkDataObject *obj);
102 
103 protected:
106 
108 
112  vtkImageData * CalculateMO(vtkIdType orbitalNumber);
113  vtkImageData * CalculateElectronDensity();
115 
119  void FillImageDataFromQube(OpenQube::Cube *qube,
121 
126 
130  OpenQube::BasisSet *BasisSet;
131 
135  double Spacing;
136 
137 private:
138  vtkOpenQubeElectronicData(const vtkOpenQubeElectronicData&) VTK_DELETE_FUNCTION;
139  void operator=(const vtkOpenQubeElectronicData&) VTK_DELETE_FUNCTION;
140 };
141 
142 #endif
maintain an unordered list of dataset objects
vtkNew< vtkDataSetCollection > Images
Cache of calculated image data.
int vtkIdType
Definition: vtkType.h:345
Provides access to and storage of chemical electronic data.
a simple class to control print indentation
Definition: vtkIndent.h:33
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
double Spacing
Used to determine the spacing of the image data.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Provides access to and storage of electronic data calculated by OpenQube.
OpenQube::BasisSet * BasisSet
The OpenQube::BasisSet object used to calculate the images.
general representation of visualization data
Definition: vtkDataObject.h:58