vtkSimpleBondPerceiver in python

I’m trying to use vtkSimpleBondPerceiver in python (python 2.7, vtk 8.1.2, PyQt4 4.10.4). I can define it, but I can’t (or I don’t know how to) use it:

mol = vtk.vtkMolecule()
for i in mydata: # mydata is a dictionary with 'Z' and 'xyz' keys
  mol.AppendAtom(i['Z'], *i['xyz'])
print(mol)
bp = vtk.vtkSimpleBondPerceiver()
bp.ComputeBonds(mol)

and I get:

AttributeError: 'vtkDomainsChemistryPython.vtkSimpleBondPerceiver' object has no attribute 'ComputeBonds'

Am I missing something, doing something wrong, or is this just not implemented/wrapped in python?

vtkSimpleBondPerceiver is meant to be used in a pipeline like the other VTK filters. For standalone usage, something like the following should work:

mol = vtk.vtkMolecule()
for i in mydata: # mydata is a dictionary with 'Z' and 'xyz' keys
  mol.AppendAtom(i['Z'], *i['xyz'])
print(mol)
bp = vtk.vtkSimpleBondPerceiver()
bp.SetInputData(mol)
bp.Update()
molWithBonds = bp.GetOutput()

Thank you. You can tell I’m still a noob :slight_smile: