VTK
dox/Chemistry/vtkPeriodicTable.h
Go to the documentation of this file.
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