Используя vtkMassProperties
, можно получить значение «объема», но я не знаю, как это действительно рассчитывается:
from vtkplotter import *
cyl1 = Cylinder(res=200).triangle().color('lg').alpha(0.5)
cyl2 = Cylinder(res=200).triangle()
cyl3 = Cylinder(res=200, r=.7, height=2).triangle()
tor = booleanOperation(cyl2, '-', cyl3)
tor.rotateX(90).scale(0.3).y(0.98).color('t')
r = tor.clone().cutWithMesh(cyl1, invert=0).flipNormals()
t = Text('vol='+str(r.volume()))
show([[cyl1, tor], [r, t]], N=2)