Sensible default for covalent radius

I’m using vtkMolecule and vtkSimpleBondPerceiver to display reasonable structures for molecules. But there is a problem when a particular atom does not have a covalent radius specified in the default database: the radius becomes something like 1e38 and the atom appears bonded to every hydrogen in the system. See the following image, where the central atom is Dy (Z=66):

So, first thing, I think the database should be updated (see e.g. https://periodictable.com/Properties/A/CovalentRadius.v.log.html), and even when there is no data, at least some reasonable value should be used as default (e.g. ~200 pm).

Secondly, how can I specify custom radii for a molecule? I could subclass vtkPeriodicTable, but how can I force vtkSimpleBondPerceiver to use the subclass?

Not sure which radii you are talking about. Atoms Covalent Radii ?
I fear it is not possible without modifications in VTK itself.

Yes, covalent radii according to the vtkSimpleBondPerceiver description. I’ve created a VTK issue: https://gitlab.kitware.com/vtk/vtk/issues/17791, but you already know, I guess :wink:

Yup.
This merge request (https://gitlab.kitware.com/vtk/vtk/merge_requests/6494) updates the database, and should fix your extra-bonds problem (as there is no more undefined values).

Specifying a custom radii should not be very difficult, it can be a good first contrib to VTK for anyone :wink:
(I don’t really have time to do it for now)