Comments (6)
Hi @Quadius - at this time, clipping an entire scene is not implemented and the pyvista.Clip
tool only handles a single mesh in the scene. I could hack together a solution for you soon here but not immediately.
The errors you are experiencing have to do with the arguments for the Clip
tool. It takes the mesh you'd like to clip and an optional BackgroundPlotter
object (not a standard Plotter
).
Try this in the meantime:
p = pv.BackgroundPlotter()
for i in range(0, len(DH)):
p.add_mesh(globals()['segment{}'.format(i)],color='white',)
p.view_yz()
p.show_axes()
clipper = pv.Clip(points, plotter=p, display_params=dict(color='blue',
render_points_as_spheres=True))
from pyvista-support.
Also, reference this currently closed issue: pyvista/pyvista#162
from pyvista-support.
Basically, I have rendered each line using pv.Line and each point using PolyData. Maybe I could combine all of them into one vtk object so I can then clip at a given elevation? Also, with your last solution I received the following without any viewer:
from pyvista-support.
Also, with your last solution I received the following without any viewer
Sometimes the BackgroundPlotter
appears in the background behind your current application (which is not intended given the name - the "Background" refers to the fact that it runs in a background thread)
from pyvista-support.
Basically, I have rendered each line using pv.Line and each point using PolyData. Maybe I could combine all of them into one vtk object so I can then clip at a given elevation?
Ah, yes!! You could easily merge these all into one pyvista.UnstructuredGrid
- there are a few ways to do this...
- Create a
pyvista.MultiBlock
dataset containing everything and run its.comine()
filter
blocks = pv.MultiBlock
blocks.append(points)
for i in range(0, len(DH)):
blocks.append(globals()['segment{}'.format(i)])
merged = blocks.combine()
- Use the
.boolean_add()
filter on thePolyData
objects or the+
operator which is pretty nifty (if poth inputs arePolyData
):
merged = points.copy()
for i in range(0, len(DH)):
merged = merged + globals()['segment{}'.format(i)]
from pyvista-support.
Then if you still want to color the points
and the line segments differently, you could add scalar values to them before merging:
import numpy as np
points['chunk'] = np.zeros(points.n_points)
for i in range(0, len(DH)):
m = globals()['segment{}'.format(i)]
m['chunk'] = np.ones(m.n_points)
Then when plotting the merged grid, simply choose a colormap (cmap
) that you like, specify n_colors=2
, and make sure the scalars
are set to 'chunk'
from pyvista-support.
Related Issues (20)
- create uniform mesh HOT 3
- Change the orientation of a scalar bar's title
- Applying textures on models from .obj files HOT 6
- How to create an Unstructured grid from points and faces HOT 2
- Type of data, plotting with glyphs HOT 3
- Controlling the thickness and orientation of a slice in Pyvista HOT 3
- Controlling the image position in window, without any click
- Mask/Remove Voxels in Air (small intersection with surface) HOT 3
- custom slider parameters
- running pyvista on headless machine with Centos OS HOT 1
- Seismic Horizon with Pyvista HOT 8
- Algorithm in sample function?
- Automatically updates HOT 3
- Slow interaction HOT 1
- read from text HOT 4
- Uniform Grid thresholding question HOT 8
- Take data by an input x,y,x coordinate (csv file) from vtk data file HOT 4
- Program broke when creating a mesh using pv.PolyData() HOT 4
- ATTENTION: Please move questions to PyVista's Discussions HOT 1
- plotter.enable_terrain_style not working for me HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyvista-support.