1234567891011121314151617181920212223242526272829 |
- """Find cells within specified bounds in x, y and/or z."""
- from vedo import Mesh, dataurl, printc, Plane, show
- # Load a mesh of a shark and normalize it
- mesh = Mesh(dataurl+'shark.ply').normalize().compute_normals()
- # Set the color of the mesh and the line width to 1
- mesh.color('aqua').linewidth(1)
- # Define the lower and upper bounds for the z-axis
- z1, z2 = -1.5, -0.5
- # Find the cell IDs of cells within the z-axis bounds
- ids = mesh.find_cells_in_bounds(zbounds=(z1,z2))
- # Print the cell IDs in green to the console
- printc('IDs of cells within bounds:\n', ids, c='g')
- # Create two Plane objects at the specified z-positions
- p1 = Plane(normal=(0,0,1), s=[2,2]).z(z1).alpha(0.5)
- p2 = p1.clone().z(z2)
- # Set the color of cells within the bounds to red
- mesh.cellcolors[ids] = [200,10,10, 255] #RGBA
- labels = mesh.labels("cellid", scale=0.01)
- # Show the mesh, the two planes, the docstring
- show(mesh, p1, p2, labels, __doc__, axes=1).close()
|