22#ifndef vtkAbstractElectronicData_h
23#define vtkAbstractElectronicData_h
25#include "vtkCommonDataModelModule.h"
76 return static_cast<vtkIdType>((this->GetNumberOfElectrons() / 2) - 1);
83 return static_cast<vtkIdType>(this->GetNumberOfElectrons() / 2);
90 bool IsHOMO(
vtkIdType orbitalNumber) {
return (orbitalNumber == this->GetHOMOOrbitalNumber()); }
96 bool IsLUMO(
vtkIdType orbitalNumber) {
return (orbitalNumber == this->GetLUMOOrbitalNumber()); }
108 vtkGetMacro(Padding,
double);
Provides access to and storage of chemical electronic data.
virtual vtkImageData * GetMO(vtkIdType orbitalNumber)=0
Returns the vtkImageData for the requested molecular orbital.
~vtkAbstractElectronicData() override
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this.
virtual vtkIdType GetNumberOfElectrons()=0
Returns the number of electrons in the molecule.
int GetDataObjectType() override
Returns VTK_ABSTRACT_ELECTRONIC_DATA.
vtkImageData * GetHOMO()
Returns vtkImageData for the Highest Occupied Molecular Orbital.
bool IsHOMO(vtkIdType orbitalNumber)
Returns true if the given orbital number is the Highest Occupied Molecular Orbital,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageData * GetLUMO()
Returns vtkImageData for the Lowest Unoccupied Molecular Orbital.
vtkIdType GetHOMOOrbitalNumber()
virtual vtkIdType GetNumberOfMOs()=0
Returns the number of molecular orbitals available.
virtual vtkImageData * GetElectronDensity()=0
Returns vtkImageData for the molecule's electron density.
vtkAbstractElectronicData()
vtkIdType GetLUMOOrbitalNumber()
bool IsLUMO(vtkIdType orbitalNumber)
Returns true if the given orbital number is the Lowest Unoccupied Molecular Orbital,...
general representation of visualization data
topologically and geometrically regular array of data
a simple class to control print indentation
#define VTK_ABSTRACT_ELECTRONIC_DATA