Go to the documentation of this file.
72 #include "vtkCommonDataModelModule.h"
125 return this->AppendAtom(atomicNumber,
vtkVector3f(x, y, z));
145 unsigned short order = 1);
147 unsigned short order = 1)
149 return this->AppendBond(atom1.
Id, atom2.
Id,
order);
166 unsigned short GetAtomAtomicNumber(
vtkIdType atomId);
171 void SetAtomAtomicNumber(
vtkIdType atomId,
172 unsigned short atomicNum);
179 void SetAtomPosition(
vtkIdType atomId,
double x,
double y,
double z);
187 void GetAtomPosition(
vtkIdType atomId,
float pos[3]);
195 unsigned short GetBondOrder(
vtkIdType bondId);
264 virtual void ShallowCopyAttributes(
vtkMolecule *m);
302 static bool GetPlaneFromBond(
const vtkAtom &atom1,
const vtkAtom &atom2,
360 void AllocateAtomGhostArray();
370 void AllocateBondGhostArray();
386 return this->
Initialize(atomPositions,
nullptr, atomData);
430 vtkSetStringMacro(AtomicNumberArrayName);
431 vtkGetStringMacro(AtomicNumberArrayName);
438 vtkSetStringMacro(BondOrdersArrayName);
439 vtkGetStringMacro(BondOrdersArrayName);
449 virtual void CopyStructureInternal(
vtkMolecule *m,
bool deep);
454 virtual void CopyAttributesInternal(
vtkMolecule *m,
bool deep);
465 void UpdateBondList();
represent and manipulate 3D points
perform various plane computations
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.
virtual vtkDataSetAttributes * GetEdgeData()
dynamic, self-adjusting array of unsigned short
void Initialize() override
Initialize to an empty graph.
represent and manipulate attribute data in a dataset
dynamic, self-adjusting array of unsigned char
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this graph.
char * BondOrdersArrayName
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract superclass for arrays of numeric data
convenience proxy for vtkMolecule
represent and manipulate 3x3 transformation matrices
vtkIdType GetBondId(vtkIdType a, vtkIdType b)
Return the edge id from the underlying graph.
virtual vtkDataSetAttributes * GetVertexData()
Get the vertex or edge data.
bool BondListIsDirty
The graph superclass does not provide fast random access to the edge (bond) data.
vtkUnsignedCharArray * AtomGhostArray
convenience proxy for vtkMolecule
vtkBond AppendBond(const vtkAtom &atom1, const vtkAtom &atom2, unsigned short order=1)
vtkDataSetAttributes * GetBondData()
Return the EdgeData of the underlying graph.
vtkDataSetAttributes * GetAtomData()
Return the VertexData of the underlying graph.
virtual bool CheckedDeepCopy(vtkGraph *g)
Performs the same operation as DeepCopy(), but instead of reporting an error for an incompatible grap...
int Initialize(vtkPoints *atomPositions, vtkDataSetAttributes *atomData)
Overloads Initialize method.
virtual bool CheckedShallowCopy(vtkGraph *g)
Performs the same operation as ShallowCopy(), but instead of reporting an error for an incompatible g...
Provides access to and storage of chemical electronic data.
static vtkUndirectedGraph * GetData(vtkInformation *info)
Retrieve a graph from an information vector.
vtkIdType GetEdgeId(vtkIdType a, vtkIdType b)
Returns the Id of the edge between vertex a and vertex b.
a simple class to control print indentation
vtkVector3d LatticeOrigin
class describing a molecule
vtkUnsignedCharArray * BondGhostArray
int GetDataObjectType() override
Return what type of dataset this is.
char * AtomicNumberArrayName
void ShallowCopy(vtkDataObject *obj) override
Shallow copies the data object into this graph.
vtkSmartPointer< vtkMatrix3x3 > Lattice
dynamic, self-adjusting array of vtkIdType
vtkAtom AppendAtom()
Add new atom with atomic number 0 (dummy atom) at origin.
Base class for graph data types.
general representation of visualization data
vtkAbstractElectronicData * ElectronicData
static vtkUndirectedGraph * New()