VTK  9.0.1
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 =========================================================================*/
26 #ifndef vtkPeriodicTable_h
27 #define vtkPeriodicTable_h
28 
29 #include "vtkDomainsChemistryModule.h" // For export macro
30 #include "vtkNew.h" // Needed for the static data member
31 #include "vtkObject.h"
32 
33 class vtkBlueObeliskData;
34 class vtkColor3f;
35 class vtkLookupTable;
36 class vtkStdString;
37 
38 class VTKDOMAINSCHEMISTRY_EXPORT vtkPeriodicTable : public vtkObject
39 {
40 public:
41  vtkTypeMacro(vtkPeriodicTable, vtkObject);
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43  static vtkPeriodicTable* New();
44 
46 
52 
56  unsigned short GetNumberOfElements();
57 
62  const char* GetSymbol(unsigned short atomicNum);
63 
67  const char* GetElementName(unsigned short atomicNum);
68 
70 
74  unsigned short GetAtomicNumber(const vtkStdString& str);
75  unsigned short GetAtomicNumber(const char* str);
77 
81  float GetCovalentRadius(unsigned short atomicNum);
82 
87  float GetVDWRadius(unsigned short atomicNum);
88 
93  float GetMaxVDWRadius();
94 
100 
105  void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3]);
106 
111  vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum);
112 
113 protected:
115  ~vtkPeriodicTable() override;
116 
118 
119 private:
120  vtkPeriodicTable(const vtkPeriodicTable&) = delete;
121  void operator=(const vtkPeriodicTable&) = delete;
122 };
123 
124 #endif
vtkPeriodicTable::New
static vtkPeriodicTable * New()
vtkColor3f
Definition: vtkColor.h:229
vtkPeriodicTable::GetSymbol
const char * GetSymbol(unsigned short atomicNum)
Given an atomic number, returns the symbol associated with the element.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:54
vtkPeriodicTable::GetCovalentRadius
float GetCovalentRadius(unsigned short atomicNum)
Given an atomic number, return the covalent radius of the atom.
vtkPeriodicTable::GetAtomicNumber
unsigned short GetAtomicNumber(const char *str)
vtkPeriodicTable::GetDefaultRGBTuple
vtkColor3f GetDefaultRGBTuple(unsigned short atomicNum)
Given an atomic number, return the familiar RGB tuple provided by the Blue Obelisk Data Repository.
vtkPeriodicTable::GetDefaultLUT
void GetDefaultLUT(vtkLookupTable *)
Fill the given vtkLookupTable to map atomic numbers to the familiar RGB tuples provided by the Blue O...
vtkPeriodicTable::vtkPeriodicTable
vtkPeriodicTable()
vtkBlueObeliskData
Contains chemical data from the Blue Obelisk Data Repository.
Definition: vtkBlueObeliskData.h:53
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkNew< vtkBlueObeliskData >
vtkPeriodicTable::GetAtomicNumber
unsigned short GetAtomicNumber(const vtkStdString &str)
Given a case-insensitive string that contains the symbol or name of an element, return the correspond...
vtkPeriodicTable::GetDefaultRGBTuple
void GetDefaultRGBTuple(unsigned short atomicNum, float rgb[3])
Given an atomic number, return the familiar RGB tuple provided by the Blue Obelisk Data Repository.
vtkObject.h
vtkPeriodicTable::GetVDWRadius
float GetVDWRadius(unsigned short atomicNum)
Given an atomic number, returns the van der Waals radius of the atom.
vtkPeriodicTable
Access to information about the elements.
Definition: vtkPeriodicTable.h:39
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:69
vtkPeriodicTable::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPeriodicTable::GetElementName
const char * GetElementName(unsigned short atomicNum)
Given an atomic number, returns the name of the element.
vtkNew.h
vtkPeriodicTable::vtkGetNewMacro
vtkGetNewMacro(BlueObeliskData, vtkBlueObeliskData)
Access the static vtkBlueObeliskData object for raw access to BODR data.
vtkPeriodicTable::BlueObeliskData
static vtkNew< vtkBlueObeliskData > BlueObeliskData
Definition: vtkPeriodicTable.h:117
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:35
vtkPeriodicTable::GetMaxVDWRadius
float GetMaxVDWRadius()
Given an atomic number, returns the van der Waals radius of the atom.
vtkPeriodicTable::GetNumberOfElements
unsigned short GetNumberOfElements()
Returns the number of elements in the periodic table.
vtkPeriodicTable::~vtkPeriodicTable
~vtkPeriodicTable() override