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 =========================================================================*/
24 #ifndef vtkOpenQubeElectronicData_h
25 #define vtkOpenQubeElectronicData_h
26 
27 #include "vtkDomainsChemistryModule.h" // For export macro
29 #include "vtkNew.h" // for vtkNew
30 
31 namespace OpenQube {
32  class BasisSet;
33  class Cube;
34 }
35 
36 class vtkImageData;
38 
39 class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeElectronicData
41 {
42 public:
43  static vtkOpenQubeElectronicData *New();
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
50  vtkIdType GetNumberOfMOs();
51 
55  unsigned int GetNumberOfElectrons();
56 
61  vtkImageData * GetMO(vtkIdType orbitalNumber);
62 
67  vtkImageData * GetElectronDensity();
68 
70 
73  vtkSetMacro(BasisSet, OpenQube::BasisSet*);
74  vtkGetMacro(BasisSet, OpenQube::BasisSet*);
76 
78 
82  vtkSetMacro(Padding, double);
83  vtkGetMacro(Padding, double);
85 
87 
90  vtkSetMacro(Spacing, double);
91  vtkGetMacro(Spacing, double);
93 
95 
98  vtkGetNewMacro(Images, vtkDataSetCollection);
100 
104  virtual void DeepCopy(vtkDataObject *obj);
105 
106 protected:
109 
111 
115  vtkImageData * CalculateMO(vtkIdType orbitalNumber);
116  vtkImageData * CalculateElectronDensity();
118 
122  void FillImageDataFromQube(OpenQube::Cube *qube,
124 
129 
133  OpenQube::BasisSet *BasisSet;
134 
138  double Spacing;
139 
140 private:
141  vtkOpenQubeElectronicData(const vtkOpenQubeElectronicData&) VTK_DELETE_FUNCTION;
142  void operator=(const vtkOpenQubeElectronicData&) VTK_DELETE_FUNCTION;
143 };
144 
145 #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:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
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:64