VTK
vtkPeriodicTable.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPeriodicTable.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef vtkPeriodicTable_h
29 #define vtkPeriodicTable_h
30 
31 #include "vtkDomainsChemistryModule.h" // For export macro
32 #include "vtkObject.h"
33 #include "vtkNew.h"
34 
35 class vtkBlueObeliskData;
36 class vtkColor3f;
37 class vtkLookupTable;
38 class vtkStdString;
39 
41 {
42 public:
43  vtkTypeMacro(vtkPeriodicTable, vtkObject);
44  void PrintSelf(ostream& os, vtkIndent indent);
45  static vtkPeriodicTable * New();
46 
48 
50  vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData);
52 
54  unsigned short GetNumberOfElements();
55 
58  const char * GetSymbol(const unsigned short atomicNum);
59 
61  const char * GetElementName(const unsigned short atomicNum);
62 
64 
66  unsigned short GetAtomicNumber(const vtkStdString &str);
67  unsigned short GetAtomicNumber(const char *str);
69 
71  float GetCovalentRadius(const unsigned short atomicNum);
72 
74  float GetVDWRadius(const unsigned short atomicNum);
75 
78  void GetDefaultLUT(vtkLookupTable *);
79 
82  void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]);
83 
86  vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum);
87 
88 protected:
91 
93 
94 private:
95  vtkPeriodicTable(const vtkPeriodicTable&); // Not implemented
96  void operator=(const vtkPeriodicTable&); // Not implemented
97 };
98 
99 #endif
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:46
Access to information about the elements.
static vtkNew< vtkBlueObeliskData > BlueObeliskData
abstract base class for most VTK objects
Definition: vtkObject.h:61
map scalar values into colors via a lookup table
virtual void PrintSelf(ostream &os, vtkIndent indent)
#define VTKDOMAINSCHEMISTRY_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:38
static vtkObject * New()
Contains chemical data from the Blue Obelisk Data Repository.