VTK
vtkBlueObeliskData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBlueObeliskData.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 =========================================================================*/
35 #ifndef vtkBlueObeliskData_h
36 #define vtkBlueObeliskData_h
37 
38 #include "vtkDomainsChemistryModule.h" // For export macro
39 #include "vtkObject.h"
40 #include "vtkNew.h" // For vtkNew
41 
42 class vtkAbstractArray;
43 class vtkFloatArray;
44 class vtkStringArray;
45 class vtkSimpleMutexLock;
47 
48 // Hidden STL reference: vtkstd::vector<vtkAbstractArray*>
49 class MyStdVectorOfVtkAbstractArrays;
50 
52 {
53  public:
55  void PrintSelf(ostream& os, vtkIndent indent);
57 
62  void Initialize();
63 
65  bool IsInitialized() { return this->Initialized;}
66 
68 
72 
74 
76  vtkGetMacro(NumberOfElements, unsigned short);
78 
80 
85  vtkGetNewMacro(PeriodicTableBlocks, vtkStringArray);
86  vtkGetNewMacro(ElectronicConfigurations, vtkStringArray);
89 
92  vtkGetNewMacro(IonizationEnergies, vtkFloatArray);
93  vtkGetNewMacro(ElectronAffinities, vtkFloatArray);
94  vtkGetNewMacro(PaulingElectronegativities, vtkFloatArray);
95  vtkGetNewMacro(CovalentRadii, vtkFloatArray);
97  vtkGetNewMacro(DefaultColors, vtkFloatArray);
98  vtkGetNewMacro(BoilingPoints, vtkFloatArray);
99  vtkGetNewMacro(MeltingPoints, vtkFloatArray);
100 
103 
104  protected:
106 
109 
112 
115  virtual int Allocate(vtkIdType sz, vtkIdType ext=1000);
116 
118  virtual void Reset();
119 
121  virtual void Squeeze();
122 
123  unsigned short NumberOfElements;
124 
125  // Lists all arrays
126  MyStdVectorOfVtkAbstractArrays *Arrays;
127 
128  // Atomic Symbols
131 
132  // Element Names
135 
136  // Misc Strings
139  vtkNew<vtkStringArray> Families; // Non-Metal, Noblegas, Metalloids, etc
140 
141  // Misc Data
149  vtkNew<vtkFloatArray> DefaultColors; // rgb 3-tuples, [0.0,1.0]
152  vtkNew<vtkUnsignedShortArray> Periods; // Row of periodic table
153  vtkNew<vtkUnsignedShortArray> Groups; // Column of periodic table
154 
155  void PrintSelfIfExists(const char *, vtkObject *, ostream&, vtkIndent);
156 
157  private:
158  vtkBlueObeliskData(const vtkBlueObeliskData&); // Not implemented.
159  void operator=(const vtkBlueObeliskData&); // Not implemented.
160 };
161 
162 #endif
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(PaulingElectronegativities, vtkFloatArray)
vtkBlueObeliskData::PaulingElectronegativities
vtkNew< vtkFloatArray > PaulingElectronegativities
Definition: vtkBlueObeliskData.h:146
vtkBlueObeliskData::Families
vtkNew< vtkStringArray > Families
Definition: vtkBlueObeliskData.h:139
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(LowerSymbols, vtkStringArray)
vtkBlueObeliskData::MeltingPoints
vtkNew< vtkFloatArray > MeltingPoints
Definition: vtkBlueObeliskData.h:151
vtkBlueObeliskData::ElectronicConfigurations
vtkNew< vtkStringArray > ElectronicConfigurations
Definition: vtkBlueObeliskData.h:138
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(DefaultColors, vtkFloatArray)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkUnsignedShortArray
dynamic, self-adjusting array of unsigned short
Definition: vtkUnsignedShortArray.h:50
vtkBlueObeliskData::PeriodicTableBlocks
vtkNew< vtkStringArray > PeriodicTableBlocks
Definition: vtkBlueObeliskData.h:137
vtkFloatArray
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:49
vtkBlueObeliskData::Initialized
bool Initialized
Definition: vtkBlueObeliskData.h:111
vtkBlueObeliskData::BoilingPoints
vtkNew< vtkFloatArray > BoilingPoints
Definition: vtkBlueObeliskData.h:150
vtkBlueObeliskData::Groups
vtkNew< vtkUnsignedShortArray > Groups
Definition: vtkBlueObeliskData.h:153
vtkBlueObeliskData::Allocate
virtual int Allocate(vtkIdType sz, vtkIdType ext=1000)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkBlueObeliskData::LowerSymbols
vtkNew< vtkStringArray > LowerSymbols
Definition: vtkBlueObeliskData.h:130
vtkBlueObeliskData::IsInitialized
bool IsInitialized()
Definition: vtkBlueObeliskData.h:65
vtkBlueObeliskData::LowerNames
vtkNew< vtkStringArray > LowerNames
Definition: vtkBlueObeliskData.h:134
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Symbols, vtkStringArray)
vtkBlueObeliskDataParser
Fill a vtkBlueObeliskData container with data from the BODR XML dataset.
Definition: vtkBlueObeliskDataParser.h:51
vtkBlueObeliskData::Reset
virtual void Reset()
vtkBlueObeliskData::DefaultColors
vtkNew< vtkFloatArray > DefaultColors
Definition: vtkBlueObeliskData.h:149
vtkBlueObeliskData::CovalentRadii
vtkNew< vtkFloatArray > CovalentRadii
Definition: vtkBlueObeliskData.h:147
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Groups, vtkUnsignedShortArray)
vtkBlueObeliskData::Symbols
vtkNew< vtkStringArray > Symbols
Definition: vtkBlueObeliskData.h:129
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(IonizationEnergies, vtkFloatArray)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(VDWRadii, vtkFloatArray)
vtkBlueObeliskData::~vtkBlueObeliskData
~vtkBlueObeliskData()
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(ElectronicConfigurations, vtkStringArray)
vtkBlueObeliskData::WriteMutex
vtkSimpleMutexLock * WriteMutex
Definition: vtkBlueObeliskData.h:110
vtkDomainsChemistryModule.h
vtkBlueObeliskData
Contains chemical data from the Blue Obelisk Data Repository.
Definition: vtkBlueObeliskData.h:52
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Names, vtkStringArray)
VTKDOMAINSCHEMISTRY_EXPORT
#define VTKDOMAINSCHEMISTRY_EXPORT
Definition: vtkDomainsChemistryModule.h:15
vtkBlueObeliskData::vtkBlueObeliskData
vtkBlueObeliskData()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(ExactMasses, vtkFloatArray)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(ElectronAffinities, vtkFloatArray)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Periods, vtkUnsignedShortArray)
vtkBlueObeliskData::VDWRadii
vtkNew< vtkFloatArray > VDWRadii
Definition: vtkBlueObeliskData.h:148
vtkBlueObeliskData::Periods
vtkNew< vtkUnsignedShortArray > Periods
Definition: vtkBlueObeliskData.h:152
vtkNew< vtkStringArray >
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkBlueObeliskData::PrintSelfIfExists
void PrintSelfIfExists(const char *, vtkObject *, ostream &, vtkIndent)
vtkBlueObeliskData::Names
vtkNew< vtkStringArray > Names
Definition: vtkBlueObeliskData.h:133
vtkBlueObeliskData::NumberOfElements
unsigned short NumberOfElements
Definition: vtkBlueObeliskData.h:123
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(CovalentRadii, vtkFloatArray)
vtkBlueObeliskData::Squeeze
virtual void Squeeze()
vtkBlueObeliskData::IonizationEnergies
vtkNew< vtkFloatArray > IonizationEnergies
Definition: vtkBlueObeliskData.h:144
vtkObject.h
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkSimpleMutexLock
Definition: vtkMutexLock.h:59
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(LowerNames, vtkStringArray)
vtkBlueObeliskData::New
static vtkBlueObeliskData * New()
vtkBlueObeliskData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(MeltingPoints, vtkFloatArray)
vtkNew.h
vtkBlueObeliskData::ElectronAffinities
vtkNew< vtkFloatArray > ElectronAffinities
Definition: vtkBlueObeliskData.h:145
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(BoilingPoints, vtkFloatArray)
vtkBlueObeliskData::Initialize
void Initialize()
vtkBlueObeliskData::Arrays
MyStdVectorOfVtkAbstractArrays * Arrays
Definition: vtkBlueObeliskData.h:126
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Families, vtkStringArray)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(Masses, vtkFloatArray)
vtkBlueObeliskData::vtkGetNewMacro
vtkGetNewMacro(PeriodicTableBlocks, vtkStringArray)
vtkBlueObeliskData::Masses
vtkNew< vtkFloatArray > Masses
Definition: vtkBlueObeliskData.h:142
vtkBlueObeliskData::ExactMasses
vtkNew< vtkFloatArray > ExactMasses
Definition: vtkBlueObeliskData.h:143