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 "vtkObject.h" 00032 #include "vtkNew.h" 00033 00034 class vtkBlueObeliskData; 00035 class vtkColor3f; 00036 class vtkLookupTable; 00037 class vtkStdString; 00038 00039 class VTK_CHEMISTRY_EXPORT vtkPeriodicTable : public vtkObject 00040 { 00041 public: 00042 vtkTypeMacro(vtkPeriodicTable, vtkObject); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 static vtkPeriodicTable * New(); 00045 00047 00049 vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData); 00051 00053 unsigned short GetNumberOfElements(); 00054 00057 const char * GetSymbol(const unsigned short atomicNum); 00058 00060 const char * GetElementName(const unsigned short atomicNum); 00061 00063 00065 unsigned short GetAtomicNumber(const vtkStdString &str); 00066 unsigned short GetAtomicNumber(const char *str); 00068 00070 float GetCovalentRadius(const unsigned short atomicNum); 00071 00073 float GetVDWRadius(const unsigned short atomicNum); 00074 00077 void GetDefaultLUT(vtkLookupTable *); 00078 00081 void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]); 00082 00085 vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum); 00086 00087 protected: 00088 vtkPeriodicTable(); 00089 ~vtkPeriodicTable(); 00090 00091 static vtkNew<vtkBlueObeliskData> BlueObeliskData; 00092 00093 private: 00094 vtkPeriodicTable(const vtkPeriodicTable&); // Not implemented 00095 void operator=(const vtkPeriodicTable&); // Not implemented 00096 }; 00097 00098 #endif