Viewports not refreshed when updating RenderData



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 25/08/2011 at 07:04, xxxxxxxx wrote:

    Hello,

    In a python tool I wrote, I'm setting a backgroundObject with an animation. Then the tool edits the active render data to change the width and height of the render (and the viewports).

    I use the following code:

    renderData = document.GetActiveRenderData()
     renderData[c4d.RDATA_XRES] = width
     renderData[c4d.RDATA_YRES] = height
     renderData[c4d.RDATA_FRAMERATE] = fps
     renderData[c4d.RDATA_FRAMEFROM] = c4d.BaseTime(startFrame, fps)
     renderData[c4d.RDATA_FRAMETO] = c4d.BaseTime(endFrame, fps)
     document.InsertRenderData(renderData)
     document.SetActiveRenderData(renderData)

    The problem is that, most of the times, the viewport is not refreshed with the correct width and height.
    If I open the render settings dialog, I can see the values that the tool has set but it's not the ones used in the viewports: if I  edits the values and put the same value again, then it's working! If I don't do that manual edit, I can do a lot of different actions in the application and the viewport is never refreshed with the correct width and height. There's a missing notification and nothing else than opening the dialog and entering the value manually seems to trigger that notification.
    I tried adding c4d.EventAdd(),  MSG_UPDATE, force redraw views, change the timeline, etc. but nothing fixed the problem.

    Thanks for your help,
    Benoit



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 25/08/2011 at 11:23, xxxxxxxx wrote:

    Hi Benoit, after you set the data you can redraw the editor view by the following call:

    c4d.DrawViews(c4d.DRAWFLAGS_FORCEFULLREDRAW)

    Btw, document.InsertRenderData(...) is not necessary here, renderData is the reference to the renderdata object.
    Cheers, Sebastian



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 30/08/2011 at 04:46, xxxxxxxx wrote:

    That's one of the things I already tried. I just tried again, and it doesn't work. Maybe because I'm on a mac?
    Thanks for the comment on InsertRenderData, I didn't put it at first but added while trying to force the refresh...

    Benoit


Log in to reply