[Paraview] vtk renderer

Sebastien Jourdain sebastien.jourdain at kitware.com
Tue Jun 12 10:59:31 EDT 2018


Hi Tom,

Glad you figure it out. What I was previously trying to say was that in you
CSS definition you were not providing any constraint on the width and the
behavior of a container was to match the width of what it contains unless
the contains is smaller than the width of the window (block). So the parent
container has no reason to shrink since it always contains a canvas of a
fixed size. Unless you tell that container that it should not be affected
by the size of what is inside.

On Tue, Jun 12, 2018 at 6:09 AM Sgouros, Thomas <thomas_sgouros at brown.edu>
wrote:

> Ok, turns out this is a CSS question. Table-layout: 'fixed' is the answer
> (in the display: 'table' div), in case someone else is ever wondering why
> their cells grow but do not shrink. Sorry for the extra traffic.
>
>  -Tom
>
> On Mon, Jun 11, 2018 at 5:25 PM, Sgouros, Thomas <thomas_sgouros at brown.edu
> > wrote:
>
>> 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 <
>> thomas_sgouros at brown.edu> 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 <
>>> sebastien.jourdain at kitware.com> 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 <
>>>> thomas_sgouros at brown.edu> 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 <
>>>>> sebastien.jourdain at kitware.com> 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 <
>>>>>> thomas_sgouros at brown.edu> 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
>>>>>>>
>>>>>>
>>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/paraview/attachments/20180612/26436675/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2018-06-11 at 4.20.58 PM.png
Type: image/png
Size: 80571 bytes
Desc: not available
URL: <https://public.kitware.com/pipermail/paraview/attachments/20180612/26436675/attachment.png>


More information about the ParaView mailing list