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();
static vtkUndirectedGraph * GetData(vtkInformation *info)
Retrieve a graph from an information vector.
virtual bool CheckedDeepCopy(vtkGraph *g)
Performs the same operation as DeepCopy(), but instead of reporting an error for an incompatible grap...
class describing a molecule
vtkIdType GetBondId(vtkIdType a, vtkIdType b)
Return the edge id from the underlying graph.
char * BondOrdersArrayName
vtkIdType GetEdgeId(vtkIdType a, vtkIdType b)
Returns the Id of the edge between vertex a and vertex b.
vtkBond AppendBond(const vtkAtom &atom1, const vtkAtom &atom2, unsigned short order=1)
Add a bond between the specified atoms, optionally setting the bond order (default: 1).
dynamic, self-adjusting array of vtkIdType
static vtkUndirectedGraph * New()
Provides access to and storage of chemical electronic data.
Base class for graph data types.
int Initialize(vtkPoints *atomPositions, vtkDataSetAttributes *atomData)
Overloads Initialize method.
vtkUnsignedCharArray * AtomGhostArray
vtkDataSetAttributes * GetAtomData()
Return the VertexData of the underlying graph.
a simple class to control print indentation
bool BondListIsDirty
The graph superclass does not provide fast random access to the edge (bond) data.
abstract superclass for arrays of numeric data
perform various plane computations
vtkDataSetAttributes * GetBondData()
Return the EdgeData of the underlying graph.
vtkUnsignedCharArray * BondGhostArray
represent and manipulate attribute data in a dataset
int GetDataObjectType() override
Return what type of dataset this is.
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this graph.
void ShallowCopy(vtkDataObject *obj) override
Shallow copies the data object into this graph.
vtkVector3d LatticeOrigin
dynamic, self-adjusting array of unsigned char
void SetBondListDirty()
The graph superclass does not provide fast random access to the edge (bond) data.
convenience proxy for vtkMolecule
virtual bool CheckedShallowCopy(vtkGraph *g)
Performs the same operation as ShallowCopy(), but instead of reporting an error for an incompatible g...
char * AtomicNumberArrayName
virtual vtkDataSetAttributes * GetEdgeData()
Get the vertex or edge data.
void Initialize() override
Initialize to an empty graph.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAtom AppendAtom()
Add new atom with atomic number 0 (dummy atom) at origin.
convenience proxy for vtkMolecule
virtual vtkDataSetAttributes * GetVertexData()
Get the vertex or edge data.
represent and manipulate 3x3 transformation matrices
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.
vtkSmartPointer< vtkMatrix3x3 > Lattice
general representation of visualization data
represent and manipulate 3D points
vtkAbstractElectronicData * ElectronicData
dynamic, self-adjusting array of unsigned short