VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBond.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00023 #ifndef vtkBond_h 00024 #define vtkBond_h 00025 00026 #include "vtkCommonDataModelModule.h" // For export macro 00027 #include "vtkObject.h" // For macros, etc 00028 #include "vtkAtom.h" // For vtkAtom 00029 00030 class vtkMolecule; 00031 00032 class VTKCOMMONDATAMODEL_EXPORT vtkBond 00033 { 00034 public: 00035 void PrintSelf(ostream &os, vtkIndent indent); 00036 00038 vtkIdType GetId() const; 00039 00041 vtkMolecule * GetMolecule(); 00042 00044 00045 vtkIdType GetBeginAtomId() const; 00046 vtkIdType GetEndAtomId() const; 00048 00050 00052 vtkAtom GetBeginAtom(); 00053 vtkAtom GetEndAtom(); 00054 const vtkAtom GetBeginAtom() const; 00055 const vtkAtom GetEndAtom() const; 00057 00059 unsigned short GetOrder(); 00060 00064 double GetLength() const; 00065 00066 protected: 00067 friend class vtkMolecule; 00068 00069 vtkBond(vtkMolecule *parent, vtkIdType id, 00070 vtkIdType beginAtomId, vtkIdType endAtomId); 00071 00072 vtkMolecule *Molecule; 00073 vtkIdType Id; 00074 vtkIdType BeginAtomId; 00075 vtkIdType EndAtomId; 00076 }; 00077 00078 inline vtkIdType vtkBond::GetId() const 00079 { 00080 return this->Id; 00081 } 00082 00083 inline vtkMolecule * vtkBond::GetMolecule() 00084 { 00085 return this->Molecule; 00086 } 00087 00088 #endif 00089 // VTK-HeaderTest-Exclude: vtkBond.h