import numpy as np from solid import Solid from mesh import mesh_from_stl from geometry import Geometry from view import view import models pmt_inner_mesh = \ mesh_from_stl(models.dir + '/hamamatsu_12inch_inner.stl') pmt_outer_mesh = \ mesh_from_stl(models.dir + '/hamamatsu_12inch_outer.stl') pmt_outer_mesh.triangles = \ pmt_outer_mesh.triangles[np.mean(pmt_outer_mesh[:], axis=1)[:,0] > 0] photocathode_triangles = np.mean(pmt_inner_mesh[:], axis=1)[:,1] > 0 inner_color = np.empty(len(pmt_inner_mesh.triangles), np.uint32) inner_color[photocathode_triangles] = 0xff0000 inner_color[~photocathode_triangles] = 0x00ff00 outer_color = np.empty(len(pmt_outer_mesh.triangles), np.uint32) outer_color[:] = 0xffffff geometry = Geometry([Solid(0, pmt_inner_mesh, color=inner_color), Solid(1, pmt_outer_mesh, color=outer_color)]) geometry.build(bits=8) view(geometry)