VTK
vtkOpenQubeMoleculeSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenQubeMoleculeSource.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 vtkOpenQubeMoleculeSource_h
27 #define vtkOpenQubeMoleculeSource_h
28 
29 #include "vtkDomainsChemistryModule.h" // For export macro
30 #include "vtkDataReader.h"
31 
32 class vtkMolecule;
33 
34 namespace OpenQube
35 {
36  class Molecule;
37  class BasisSet;
38 }
39 
40 class VTKDOMAINSCHEMISTRY_EXPORT vtkOpenQubeMoleculeSource : public vtkDataReader
41 {
42 public:
45  void PrintSelf(ostream& os, vtkIndent indent);
46 
48 
54 
56 
62  vtkSetStringMacro(FileName);
63  vtkGetStringMacro(FileName);
65 
67 
73  virtual void SetBasisSet(OpenQube::BasisSet *b);
74  vtkGetMacro(BasisSet, OpenQube::BasisSet*);
76 
78 
84  vtkSetMacro(CleanUpBasisSet, bool);
85  vtkGetMacro(CleanUpBasisSet, bool);
86  vtkBooleanMacro(CleanUpBasisSet, bool);
88 
89 protected:
92 
96 
97  char *FileName;
98  OpenQube::BasisSet *BasisSet;
100 
105  void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule *oqmol,
106  vtkMolecule *mol);
107 
108 private:
109  vtkOpenQubeMoleculeSource(const vtkOpenQubeMoleculeSource&) VTK_DELETE_FUNCTION;
110  void operator=(const vtkOpenQubeMoleculeSource&) VTK_DELETE_FUNCTION;
111 };
112 
113 #endif
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:50
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:91
Read a OpenQube readable file and output a vtkMolecule object.
static vtkOpenQubeMoleculeSource * New()
void CopyOQMoleculeToVtkMolecule(const OpenQube::Molecule *oqmol, vtkMolecule *mol)
Copy the OpenQube::Molecule object oqmol into the provided vtkMolecule object mol.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetOutput(vtkMolecule *)
int FillOutputPortInformation(int, vtkInformation *)
Fill the output port information objects for this algorithm.
virtual void SetBasisSet(OpenQube::BasisSet *b)
Get/Set the OpenQube BasisSet object to read from.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkMolecule * GetOutput()
Get/Set the output (vtkMolecule) that the reader will fill.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.