Go to the documentation of this file.
75 #include "vtkCommonDataModelModule.h"
128 return this->AppendAtom(atomicNumber,
vtkVector3f(x, y, z));
148 unsigned short order = 1);
150 unsigned short order = 1)
152 return this->AppendBond(atom1.
Id, atom2.
Id,
order);
169 unsigned short GetAtomAtomicNumber(
vtkIdType atomId);
174 void SetAtomAtomicNumber(
vtkIdType atomId,
175 unsigned short atomicNum);
182 void SetAtomPosition(
vtkIdType atomId,
double x,
double y,
double z);
190 void GetAtomPosition(
vtkIdType atomId,
float pos[3]);
198 unsigned short GetBondOrder(
vtkIdType bondId);
267 virtual void ShallowCopyAttributes(
vtkMolecule *m);
305 static bool GetPlaneFromBond(
const vtkAtom &atom1,
const vtkAtom &atom2,
363 void AllocateAtomGhostArray();
373 void AllocateBondGhostArray();
389 return this->
Initialize(atomPositions,
nullptr, atomData);
433 vtkSetStringMacro(AtomicNumberArrayName);
434 vtkGetStringMacro(AtomicNumberArrayName);
441 vtkSetStringMacro(BondOrdersArrayName);
442 vtkGetStringMacro(BondOrdersArrayName);
452 virtual void CopyStructureInternal(
vtkMolecule *m,
bool deep);
457 virtual void CopyAttributesInternal(
vtkMolecule *m,
bool deep);
468 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()