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 =========================================================================*/
29 #ifndef vtkPeriodicTable_h
30 #define vtkPeriodicTable_h
31 
32 #include "vtkDomainsChemistryModule.h" // For export macro
33 #include "vtkObject.h"
34 #include "vtkNew.h" // Needed for the static data member
35 
36 class vtkBlueObeliskData;
37 class vtkColor3f;
38 class vtkLookupTable;
39 class vtkStdString;
40 
41 class VTKDOMAINSCHEMISTRY_EXPORT vtkPeriodicTable : public vtkObject
42 {
43 public:
44  vtkTypeMacro(vtkPeriodicTable, vtkObject);
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46  static vtkPeriodicTable * New();
47 
49 
53  vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData);
55 
59  unsigned short GetNumberOfElements();
60 
65  const char * GetSymbol(unsigned short atomicNum);
66 
70  const char * GetElementName(unsigned short atomicNum);
71 
73 
77  unsigned short GetAtomicNumber(const vtkStdString &str);
78  unsigned short GetAtomicNumber(const char *str);
80 
84  float GetCovalentRadius(unsigned short atomicNum);
85 
90  float GetVDWRadius(unsigned short atomicNum);
91 
96  float GetMaxVDWRadius();
97 
102  void GetDefaultLUT(vtkLookupTable *);
103 
108  void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]);
109 
114  vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum);
115 
116 protected:
118  ~vtkPeriodicTable() override;
119 
121 
122 private:
123  vtkPeriodicTable(const vtkPeriodicTable&) = delete;
124  void operator=(const vtkPeriodicTable&) = delete;
125 };
126 
127 #endif
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
Access to information about the elements.
static vtkNew< vtkBlueObeliskData > BlueObeliskData
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
map scalar values into colors via a lookup table
a simple class to control print indentation
Definition: vtkIndent.h:39
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Contains chemical data from the Blue Obelisk Data Repository.