I should also add that the reason I need this is because I'm trying to toggle the visibility of one of two side-by-side vtkRenderer objects. But what happens is that when I make one of them invisible, the container of the other assumes a width of 100% and the VtkRenderer also gets wide. But then when I make it visible again, the VTKRenderer is a fixed width and will not shrink to fit its window.
I imagine I can also deal with this by explicitly setting the width of the VtkRenderer, but don't understand why it doesn't work automatically. But maybe setting it explicitly is the preferred method? Thanks, -Tom On Mon, Jun 11, 2018 at 5:06 PM, Sgouros, Thomas <[email protected]> wrote: > Hi Sebastien: > > I'm afraid I don't understand what you're saying here. Why would the > container grow due to the setup of my css? I thought the way it works is > that I resize the window, and SIzeHelper.onSizeChange() gets called. I use > that function to call .resize() on the renderers and the vertical works > perfectly, but the horizontal only goes one direction. > > Here's the entire hierarchy. There is no external CSS, so this is > everything. I went back and tried to make the height and width parallel, > set the same way. What I observe is that as I change the window size, the > height (the number '686' in the image) changes when I make the window > smaller or larger, but the width (the number '565') only changes when I > make the window wider. When I make the window narrower I have to refresh > the page to get the new width and then it looks right. Can you identify > what isn't the same between width and height in my hierarchy? > > Thanks, > > -Tom > > > > > > > On Thu, Jun 7, 2018 at 3:42 PM, Sebastien Jourdain < > [email protected]> wrote: > >> The renderer will ask for its container size when you call resize() on >> it. So if that container keep growing due to the setup of your css, the >> size propagation won't go to the server as the container will never shrink. >> >> You need to fix the width in some way like you did for the height. You >> can use 50vw or use a mix of absolute/relative position in your dom >> hierarchy. >> >> On Thu, Jun 7, 2018 at 12:35 PM Sgouros, Thomas <[email protected]> >> wrote: >> >>> Hi Sebastien: >>> >>> Looks like this: >>> >>> <div id="renderContainerTwo" >>> style={{position: 'relative', >>> height: '80vh', >>> overflow: 'hidden', >>> zIndex: '10', >>> }} >>> /> >>> >>> Another data point: when I shrink or grow the window in the vertical, >>> the *height* of the canvas element changes in both directions, but the >>> width only changes when I grow the window and not when I shrink it. Maybe >>> what you're saying though is that I should travel up the hierarchy and see >>> where I'm setting heights and widths in non-parallel ways? >>> >>> Thank you, >>> >>> -Tom >>> >>> >>> On Thu, Jun 7, 2018 at 2:28 PM, Sebastien Jourdain < >>> [email protected]> wrote: >>> >>>> Hi Tom, >>>> >>>> That would be a ParaViewWeb question. The issue is related to the css >>>> for your div that contains the renderer. >>>> To allow the renderer to shrink you need to set "overflow: hidden;" >>>> assuming the rest of the size of the div is defined by other constraints. >>>> >>>> Seb >>>> >>>> On Thu, Jun 7, 2018 at 11:41 AM Sgouros, Thomas < >>>> [email protected]> wrote: >>>> >>>>> Hi All: >>>>> >>>>> I'm not sure if this is a VTK question or a Paraview question, so >>>>> apologies in advance. In a ParaViewWeb application, I have a vtkRenderer >>>>> in >>>>> a div in another div, etc. The vtkRenderer seems to adjust when I make the >>>>> window it's in bigger or the container, but it does not resize when I make >>>>> the window smaller. Using the browser's element viewer, I can see the >>>>> <canvas> object inside, and see its width reach when I expand elements and >>>>> refuse to react when I contract the window or container. >>>>> >>>>> When I create the vtk renderer, I use this code: >>>>> >>>>> this.renderers.push(VtkRenderer.newInstance({ >>>>> client: this.model.pvwClient, >>>>> viewId: result, >>>>> }) ); >>>>> >>>>> ... and then later... >>>>> >>>>> SizeHelper.onSizeChange(() => { >>>>> this.renderers[0].resize(); >>>>> this.renderers[1].resize(); >>>>> }); >>>>> SizeHelper.startListening(); >>>>> >>>>> I invoke the SizeHelper.triggerChange() method regularly and it seems >>>>> to work, though again only to make the renderer bigger. >>>>> >>>>> Should I be resizing these with a direct call to some method? What is >>>>> the way I should be doing this? >>>>> >>>>> Thank you, >>>>> >>>>> -Tom >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Powered by www.kitware.com >>>>> >>>>> ParaView discussion is moving! Please visit >>>>> https://discourse.paraview.org/ for future posts. >>>>> >>>>> Visit other Kitware open-source projects at >>>>> http://www.kitware.com/opensource/opensource.html >>>>> >>>>> Please keep messages on-topic and check the ParaView Wiki at: >>>>> http://paraview.org/Wiki/ParaView >>>>> >>>>> Search the list archives at: http://markmail.org/search/?q=ParaView >>>>> >>>>> Follow this link to subscribe/unsubscribe: >>>>> https://public.kitware.com/mailman/listinfo/paraview >>>>> >>>> >>> >
_______________________________________________ Powered by www.kitware.com ParaView discussion is moving! Please visit https://discourse.paraview.org/ for future posts. Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/paraview
