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);
46  static vtkPeriodicTable * New();
47 
49 
55 
59  unsigned short GetNumberOfElements();
60 
65  const char * GetSymbol(const unsigned short atomicNum);
66 
70  const char * GetElementName(const unsigned short atomicNum);
71 
73 
77  unsigned short GetAtomicNumber(const vtkStdString &str);
78  unsigned short GetAtomicNumber(const char *str);
80 
84  float GetCovalentRadius(const unsigned short atomicNum);
85 
90  float GetVDWRadius(const unsigned short atomicNum);
91 
97 
102  void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]);
103 
108  vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum);
109 
110 protected:
113 
115 
116 private:
117  vtkPeriodicTable(const vtkPeriodicTable&) VTK_DELETE_FUNCTION;
118  void operator=(const vtkPeriodicTable&) VTK_DELETE_FUNCTION;
119 };
120 
121 #endif
Contains chemical data from the Blue Obelisk Data Repository.
a simple class to control print indentation
Definition: vtkIndent.h:40
map scalar values into colors via a lookup table
abstract base class for most VTK objects
Definition: vtkObject.h:60
Access to information about the elements.
unsigned short GetAtomicNumber(const vtkStdString &str)
Given a case-insensitive string that contains the symbol or name of an element, return the correspond...
const char * GetElementName(const unsigned short atomicNum)
Given an atomic number, returns the name of the element.
float GetVDWRadius(const unsigned short atomicNum)
Given an atomic number, returns the van der Waals radius of the atom.
static vtkPeriodicTable * New()
const char * GetSymbol(const unsigned short atomicNum)
Given an atomic number, returns the symbol associated with the element.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkNew< vtkBlueObeliskData > BlueObeliskData
unsigned short GetNumberOfElements()
Returns the number of elements in the periodic table.
void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3])
Given an atomic number, return the familiar RGB tuple provided by the Blue Obelisk Data Repository.
vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData)
Access the static vtkBlueObeliskData object for raw access to BODR data.
void GetDefaultLUT(vtkLookupTable *)
Fill the given vtkLookupTable to map atomic numbers to the familiar RGB tuples provided by the Blue O...
float GetCovalentRadius(const unsigned short atomicNum)
Given an atomic number, return the covalent radius of the atom.
unsigned short GetAtomicNumber(const char *str)
vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum)
Given an atomic number, return the familiar RGB tuple provided by the Blue Obelisk Data Repository.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49