VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkProgrammableElectronicData.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00023 #ifndef __vtkProgrammableElectronicData_h 00024 #define __vtkProgrammableElectronicData_h 00025 00026 #include "vtkAbstractElectronicData.h" 00027 00028 class vtkImageData; 00029 00030 class StdVectorOfImageDataPointers; 00031 00032 class VTK_CHEMISTRY_EXPORT vtkProgrammableElectronicData 00033 : public vtkAbstractElectronicData 00034 { 00035 public: 00036 static vtkProgrammableElectronicData *New(); 00037 vtkTypeMacro(vtkProgrammableElectronicData,vtkAbstractElectronicData); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00041 00043 virtual vtkIdType GetNumberOfMOs(); 00044 virtual void SetNumberOfMOs(vtkIdType); 00046 00048 00050 vtkGetMacro(NumberOfElectrons, vtkIdType); 00051 vtkSetMacro(NumberOfElectrons, vtkIdType); 00053 00055 00056 virtual vtkImageData * GetMO(vtkIdType orbitalNumber); 00057 void SetMO(vtkIdType orbitalNumber, vtkImageData *data); 00059 00061 00062 vtkGetObjectMacro(ElectronDensity, vtkImageData); 00063 virtual void SetElectronDensity(vtkImageData *); 00065 00067 00069 vtkSetMacro(Padding, double); 00070 vtkGetMacro(Padding, double); 00072 00074 virtual void DeepCopy(vtkDataObject *obj); 00075 00076 protected: 00077 vtkProgrammableElectronicData(); 00078 ~vtkProgrammableElectronicData(); 00079 00081 vtkIdType NumberOfElectrons; 00082 00084 00085 StdVectorOfImageDataPointers *MOs; 00086 vtkImageData *ElectronDensity; 00088 00089 private: 00090 // Not implemented: 00091 vtkProgrammableElectronicData(const vtkProgrammableElectronicData&); 00092 void operator=(const vtkProgrammableElectronicData&); 00093 }; 00094 00095 #endif