VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPeriodicTable.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 =========================================================================*/ 00028 #ifndef __vtkPeriodicTable_h 00029 #define __vtkPeriodicTable_h 00030 00031 #include "vtkDomainsChemistryModule.h" // For export macro 00032 #include "vtkObject.h" 00033 #include "vtkNew.h" 00034 00035 class vtkBlueObeliskData; 00036 class vtkColor3f; 00037 class vtkLookupTable; 00038 class vtkStdString; 00039 00040 class VTKDOMAINSCHEMISTRY_EXPORT vtkPeriodicTable : public vtkObject 00041 { 00042 public: 00043 vtkTypeMacro(vtkPeriodicTable, vtkObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 static vtkPeriodicTable * New(); 00046 00048 00050 vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData); 00052 00054 unsigned short GetNumberOfElements(); 00055 00058 const char * GetSymbol(const unsigned short atomicNum); 00059 00061 const char * GetElementName(const unsigned short atomicNum); 00062 00064 00066 unsigned short GetAtomicNumber(const vtkStdString &str); 00067 unsigned short GetAtomicNumber(const char *str); 00069 00071 float GetCovalentRadius(const unsigned short atomicNum); 00072 00074 float GetVDWRadius(const unsigned short atomicNum); 00075 00078 void GetDefaultLUT(vtkLookupTable *); 00079 00082 void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]); 00083 00086 vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum); 00087 00088 protected: 00089 vtkPeriodicTable(); 00090 ~vtkPeriodicTable(); 00091 00092 static vtkNew<vtkBlueObeliskData> BlueObeliskData; 00093 00094 private: 00095 vtkPeriodicTable(const vtkPeriodicTable&); // Not implemented 00096 void operator=(const vtkPeriodicTable&); // Not implemented 00097 }; 00098 00099 #endif