VTK: Domains/Chemistry/vtkProgrammableElectronicData.h Source File

| VTK 9.3.1

vtkProgrammableElectronicData.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
12 #ifndef vtkProgrammableElectronicData_h
13 #define vtkProgrammableElectronicData_h
14
15 #include "vtkAbstractElectronicData.h"
16 #include "vtkDomainsChemistryModule.h" // For export macro
17
18 VTK_ABI_NAMESPACE_BEGIN
19 class vtkImageData;
20
21 class StdVectorOfImageDataPointers;
22
23 class VTKDOMAINSCHEMISTRY_EXPORT vtkProgrammableElectronicData : public vtkAbstractElectronicData
24 {
25 public:
26 static vtkProgrammableElectronicData* New();
27 vtkTypeMacro(vtkProgrammableElectronicData, vtkAbstractElectronicData);
28 void PrintSelf(ostream& os, vtkIndent indent) override;
29
31
35 vtkIdType GetNumberOfMOs() override;
36 virtual void SetNumberOfMOs(vtkIdType);
38
40
44 vtkIdType GetNumberOfElectrons() override { return this->NumberOfElectrons; }
45 vtkSetMacro(NumberOfElectrons, vtkIdType);
47
49
52 vtkImageData* GetMO(vtkIdType orbitalNumber) override;
53 void SetMO(vtkIdType orbitalNumber, vtkImageData* data);
55
57
60 vtkImageData* GetElectronDensity() override { return this->ElectronDensity; }
61 virtual void SetElectronDensity(vtkImageData*);
63
65
69 vtkSetMacro(Padding, double);
71
75 void DeepCopy(vtkDataObject* obj) override;
76
77 protected:
78 vtkProgrammableElectronicData();
79 ~vtkProgrammableElectronicData() override;
80
84 vtkIdType NumberOfElectrons;
85
87
90 StdVectorOfImageDataPointers* MOs;
91 vtkImageData* ElectronDensity;
93
94 private:
95 vtkProgrammableElectronicData(const vtkProgrammableElectronicData&) = delete;
96 void operator=(const vtkProgrammableElectronicData&) = delete;
97 };
98
99 VTK_ABI_NAMESPACE_END
100 #endif
vtkAbstractElectronicData
Provides access to and storage of chemical electronic data.
Definition: vtkAbstractElectronicData.h:23
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkProgrammableElectronicData
Provides access to and storage of user-generated vtkImageData that describes electrons.
Definition: vtkProgrammableElectronicData.h:24
vtkProgrammableElectronicData::SetElectronDensity
virtual void SetElectronDensity(vtkImageData *)
Get/Set the vtkImageData for the molecule's electron density.
vtkProgrammableElectronicData::GetNumberOfMOs
vtkIdType GetNumberOfMOs() override
Get/Set the number of molecular orbitals.
vtkProgrammableElectronicData::NumberOfElectrons
vtkIdType NumberOfElectrons
Electronic data set property.
Definition: vtkProgrammableElectronicData.h:84
vtkProgrammableElectronicData::GetNumberOfElectrons
vtkIdType GetNumberOfElectrons() override
Get/Set the number of electrons in the molecule.
Definition: vtkProgrammableElectronicData.h:44
vtkProgrammableElectronicData::vtkProgrammableElectronicData
vtkProgrammableElectronicData()
vtkProgrammableElectronicData::New
static vtkProgrammableElectronicData * New()
vtkProgrammableElectronicData::ElectronDensity
vtkImageData * ElectronDensity
Storage for the vtkImageData objects.
Definition: vtkProgrammableElectronicData.h:91
vtkProgrammableElectronicData::MOs
StdVectorOfImageDataPointers * MOs
Storage for the vtkImageData objects.
Definition: vtkProgrammableElectronicData.h:90
vtkProgrammableElectronicData::SetMO
void SetMO(vtkIdType orbitalNumber, vtkImageData *data)
Get/Set the vtkImageData for the requested molecular orbital.
vtkProgrammableElectronicData::GetElectronDensity
vtkImageData * GetElectronDensity() override
Get/Set the vtkImageData for the molecule's electron density.
Definition: vtkProgrammableElectronicData.h:60
vtkProgrammableElectronicData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkProgrammableElectronicData::GetMO
vtkImageData * GetMO(vtkIdType orbitalNumber) override
Get/Set the vtkImageData for the requested molecular orbital.
vtkProgrammableElectronicData::DeepCopy
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this.
vtkProgrammableElectronicData::SetNumberOfMOs
virtual void SetNumberOfMOs(vtkIdType)
Get/Set the number of molecular orbitals.
vtkProgrammableElectronicData::~vtkProgrammableElectronicData
~vtkProgrammableElectronicData() override
vtkX3D::data
@ data
Definition: vtkX3D.h:315
vtkAbstractElectronicData.h
vtkIdType
int vtkIdType
Definition: vtkType.h:315