Time dependent slicing

I have gridded concentration of emitted gas from a stack as a function of time. Currently I am showing isosurface and slice to look at the distrubution of mass.

I want to have a slice, which cuts through along the center of plume.

I managed to write a Programmable Filter which determines center of mass and make a vertical slice passing through this center of mass and the source location of plume. The plane moves as time passes following the plume.

But, i cannot figure out how to use this plane to slice through the conventration data.

I also so this post Time dependent clipping. To adapt this approach to my task, i have to calculate location of plume for each time steps upfront, then populate component of normal to be link to animation. Would that be an recommended approach, instead of place slice plane on the fly and get concentration on it?


To follow up, here is my attempts:

  1. ProgrammingFilter reads the 3d data, decide where to place the slice, and make a plane, as PolyData of one polygon. I was hoping that I can use ResampleWithDataset tool to color this plane ( I thought this would apply here How to slice with Cone surface or Revolution shape). But i may be seeing the value only at four corner of polygon not as mesh of points. So this plane is not very useful at this point

  2. I was thinking of creating custom filter which laps Slice filter. it takes second input and let the location/orientation of the slicing plane. The Programmable Filter in approach 1 can be rewrote to provide necessary parameters for plane. The new filter takes the original data array as first input, and this auxilliray input from the Programmable Filter, and the slicer changes position/orientation as time passes. But I even couldn’t get “Create Custom Filter” dialog to behave what I said above: It didnt like the Programmable Filter as second input telling it cannot tell what it is … something like that?

  3. Now i found this Time dependent clipping this post, I am thinking i should use the Slice filter itself, and let animator to update the position/orientation of slicer. My plan is to write a preprocessor to determine where the plane should be for each time step, save it as CSV file. Then paraview somehow read that, and populate AnimationView to update “Slice Type(1) Normal”, etc. But, it isn’t immediately clear if I could even import such data to animator.

I am also wondering if there is way to show this slice like 2d plot (should be another topic if there is no simple answer that i over looked)… I experimented with Slice View and Orthogonal Slice view, but my understanding is that the slicer’s orientation cannot be customized. So currently I am thinking I should use RenderView with right camera orientation. Then, i have issue of moving camera to follow where the plume goes… Similar tasks as in approach 3 above.

I am thinking, I rather rotate the entire data for this Slice view at each time step, and then always looking at the same position, let data to rotate instead…?

Hope that i am explaining my problem clear enough. I’d appreciate any suggestion too. Thanks

Hi, it’s me again.

This is what I want to do:

On the left there is contours showing conc, and also wireframe showing threashold concentration. There is this purple plane cutting through the scene, and i want this plane to be color coded as well.

Then on the right, i am showing ortho slice, but insteas i want the contour from the slicing plane (purple right now), to be shown as 2D plot.

I did some learning for manupulating camera, and I thought that’s way beyond me. There is orbit, follow path etc, but what I said above do not fit to those prebuilt feature. I quite don’t need to use 3d render with fancy camera when all i need is 2d plot.

So currently, i figure that I need to extract 2D data out of 3D, using my custome made plane. Instead of polydata, the slice should take data from the original 3d data, and gridded somehow. I then colorcode this 2d child dataset to be color coded the same way as the original data, and then use this 2D data somehow on the right plane. I may do this as processing, i.e., prepare file carrying 2D data and read both 2d and 3d, if that’s easier. Or, i somehow update my programmable filter to generate 2D data (not just single polygon), and use it for 2D plot (stip the 3d locations out and add 2d coordinates?)

I will look around if i can find this generating 2D out of 3D data part, with Programmable Filter, hope that get me to what I want.

One last time from me,

Basically I found approach 1 in my second post was easiest for me. Issue I had was that when I used Programmable Filter earlier, I was adding only once cell. I am adding array of points and cells (topologically 2d grid, but still using UnstructuedGrid), and that made ResampleWithDataset to work.

What I also did was, when I used Programmable Filter to generate Poly Data for slicing, I also added point coordinates on 2-D geometry. Later on when I want 2D plot, I used Calculator to set points coordinate based on what I stored on points. I used this projected 2d data as 2D plot in second panel.

I think it is working as i wanted, although when I make animations it doesn’t come out correct (like, purple plane that represents surface hides the contour even when contour is above surface). I cannot tell if this glitch was caused my approach, or it is just the glitch of having animation from multiple panels? In any case i will come up some work around for them and I will conclude this task.

Thanks for listening…

1 Like