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();
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