75 #include "vtkCommonDataModelModule.h"
124 return this->AppendAtom(atomicNumber,
vtkVector3f(x, y, z));
144 unsigned short order = 1);
146 unsigned short order = 1)
148 return this->AppendBond(atom1.
Id, atom2.
Id,
order);
171 unsigned short atomicNum);
371 bool BondListIsDirty;
372 void SetBondListDirty() {this->BondListIsDirty =
true;}
386 void operator=(
const vtkMolecule&) VTK_DELETE_FUNCTION;
Provides access to and storage of chemical electronic data.
convenience proxy for vtkMolecule
convenience proxy for vtkMolecule
general representation of visualization data
Base class for graph data types.
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
represent and manipulate 3x3 transformation matrices
class describing a molecule
vtkAbstractElectronicData * ElectronicData
void GetAtomPosition(vtkIdType atomId, float pos[3])
vtkAtom AppendAtom()
Add new atom with atomic number 0 (dummy atom) at origin.
vtkVector3f GetAtomPosition(vtkIdType atomId)
Get the position of the atom with the specified id.
vtkIdTypeArray * GetBondList()
void SetLattice(vtkMatrix3x3 *matrix)
The unit cell vectors.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkBond AppendBond(const vtkAtom &atom1, const vtkAtom &atom2, unsigned short order=1)
void SetBondOrder(vtkIdType bondId, unsigned short order)
Get/Set the bond order of the bond with the specified id.
vtkAtom AppendAtom(unsigned short atomicNumber, double x, double y, double z)
Convenience methods to append a new atom with the specified atomic number and position.
vtkAtom GetAtom(vtkIdType atomId)
Return a vtkAtom that refers to the atom with the specified id.
virtual void DeepCopyStructure(vtkMolecule *m)
Deep copies the atoms and bonds from m into this.
void GetLattice(vtkVector3d &a, vtkVector3d &b, vtkVector3d &c, vtkVector3d &origin)
void Initialize() override
Initialize to an empty graph.
void ClearLattice()
Remove any unit cell lattice information from the molecule.
virtual void ShallowCopyAttributes(vtkMolecule *m)
Shallow copies attributes (i.e.
void SetAtomAtomicNumber(vtkIdType atomId, unsigned short atomicNum)
Set the atomic number of the atom with the specified id.
virtual void ShallowCopyStructure(vtkMolecule *m)
Shallow copies the atoms and bonds from m into this.
double GetBondLength(vtkIdType bondId)
Get the bond length of the bond with the specified id.
vtkSmartPointer< vtkMatrix3x3 > Lattice
virtual void DeepCopyAttributes(vtkMolecule *m)
Deep copies attributes (i.e.
static bool GetPlaneFromBond(const vtkBond &bond, const vtkVector3f &normal, vtkPlane *plane)
Obtain the plane that passes through the indicated bond with the given normal.
void ShallowCopy(vtkDataObject *obj) override
Shallow copies the data object into this molecule.
vtkPoints * GetAtomicPositionArray()
Access the raw arrays used in this vtkMolecule instance.
vtkUnsignedShortArray * GetAtomicNumberArray()
void GetLattice(vtkVector3d &a, vtkVector3d &b, vtkVector3d &c)
Get the unit cell lattice vectors, and optionally, the origin.
void SetAtomPosition(vtkIdType atomId, double x, double y, double z)
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this molecule.
static bool GetPlaneFromBond(const vtkAtom &atom1, const vtkAtom &atom2, const vtkVector3f &normal, vtkPlane *plane)
void SetAtomPosition(vtkIdType atomId, const vtkVector3f &pos)
Set the position of the atom with the specified id.
virtual void SetElectronicData(vtkAbstractElectronicData *)
unsigned short GetAtomAtomicNumber(vtkIdType atomId)
Return the atomic number of the atom with the specified id.
vtkIdType GetNumberOfBonds()
Return the number of bonds in the molecule.
bool HasLattice()
Return true if a unit cell lattice is defined.
vtkBond AppendBond(vtkIdType atom1, vtkIdType atom2, unsigned short order=1)
Add a bond between the specified atoms, optionally setting the bond order (default: 1).
void SetLattice(const vtkVector3d &a, const vtkVector3d &b, const vtkVector3d &c)
unsigned short GetBondOrder(vtkIdType bondId)
vtkAtom AppendAtom(unsigned short atomicNumber, const vtkVector3f &pos)
Add new atom with the specified atomic number and position.
vtkBond GetBond(vtkIdType bondId)
Return a vtkAtom that refers to the bond with the specified id.
static vtkMolecule * New()
vtkIdType GetNumberOfAtoms()
Return the number of atoms in the molecule.
vtkVector3d LatticeOrigin
bool CheckedShallowCopy(vtkGraph *g) override
Performs the same operation as ShallowCopy(), but instead of reporting an error for an incompatible g...
bool CheckedDeepCopy(vtkGraph *g) override
Performs the same operation as DeepCopy(), but instead of reporting an error for an incompatible grap...
vtkMatrix3x3 * GetLattice()
Get the unit cell lattice vectors.
perform various plane computations
represent and manipulate 3D points
dynamic, self-adjusting array of unsigned short
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.