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 
51  vtkMolecule *GetOutput();
52  void SetOutput(vtkMolecule *);
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
Store vtkAlgorithm input/output information.
class describing a molecule
Definition: vtkMolecule.h:90
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Read a OpenQube readable file and output a vtkMolecule object.
static vtkDataReader * New()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:49
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.