[Paraview] vtk renderer
Sgouros, Thomas
thomas_sgouros at brown.edu
Mon Jun 11 17:25:51 EDT 2018
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/20180611/38fc2abb/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/20180611/38fc2abb/attachment.png>
More information about the ParaView
mailing list