stop rendering



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

    On 01/02/2004 at 06:29, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.500 
    Platform:   Windows  ; Mac  ;  Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    Hello
    It looked so easy....
    User starts plugin (compiled using 8.5 sdk)
    plugin copies the document and alters something
    plugin calls somehow RenderDocument(.....) to get a bitmap.

    O.k. that really does work. But now an additional preferable feature ..

    I would like to open a dialog with a simple button
        showing something like "Press Button to Stop Rendering".
        The problem is, that the dialog does not react while rendering
        and in MyThread::TestDBreak() a call to GetInputEvent(...)
        gets always FALSE, so now way to find a workaround.
        
    I've tried everything I could imagine. The only solution I found is
    to use another buttontext, for instance "Pull Plug to Stop Rendering".
    What is my mistake?

    thank you for any help ;o)

    dagmar



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

    On 01/02/2004 at 14:24, xxxxxxxx wrote:

    Hi Dagi,
    when overloading TestDBreak() you will need to check for a userbreak by calling TestBreak in your Render Thread.



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

    On 02/02/2004 at 04:09, xxxxxxxx wrote:

    Hi samir ;o)

    > when overloading TestDBreak() you will need to check for a userbreak by
    > calling TestBreak in your Render Thread.

    1. No. You can't do that. In fact it seems to be that TestBreak calls TestDBreak
    I've watched some really nice crashes caused by stackoverflow.
    2. Cinema must call the TestBreak - routine while rendering and Cinema does!
    The point is: Under that circumstances (meaning:Cinema executes
    RenderDocument(...)) the GetInputEvent(...) function is always FALSE;
    Anyway, it would be a workaround. It would be nicer to have that button.

    Any idea ????
    thx for answering

    dagmar



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

    On 02/02/2004 at 09:22, xxxxxxxx wrote:

    1. Sorry, but I can. I do it in my plugins exactly like this and I never encountered any problems nor a stack overflow, nor any crashes or whatever. It works perfectly. And yes, TestDBreak is called by TestBreak(), that´s why you need to use it!
    2. Cinema must do sh** ;o)



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

    On 02/02/2004 at 09:23, xxxxxxxx wrote:

    sh** means shine btw. :)



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

    On 03/02/2004 at 02:02, xxxxxxxx wrote:

    The problem is that TestDBreak() will be called from a non-GUI thread which means that it cannot safely access the GUI functions, like GetInputEvent(). Instead you have to let the dialog set a flag when the button is clicked, which the TestDBreak() function can check.



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

    On 03/02/2004 at 07:54, xxxxxxxx wrote:

    First - Thank you for answering ;o)

    > Instead you have to let the dialog set a flag when the button is clicked,
    > which the TestDBreak() function can check.

    Fine. But I never watched a dialog function beeing executed
    while RenderDocument(...) was running.

    I must have misunderstood something important concerning the
    RenderDocument() function.

    Now I do it in the following way (coarse description, one of three or four
    variants)

    dialog->Open(ASYNCHRON,....)
    MyThread.Start(...)
    MyThread.Wait(...)

    In MyThread::Main()
            call RenderDocument(... ,this,...)

    still getting crazy
    Dagmar ;o)



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

    On 09/02/2004 at 17:08, xxxxxxxx wrote:

    If you have an asynchronous dialog then it shouldn't be locked up while the thread is executed. However, if MyThread.Wait() is called in the main thread then I think it will lock the GUI. Have you tried removing it?



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

    On 06/09/2005 at 08:36, xxxxxxxx wrote:

    May it not be a good idea to set a timer before calling to check every ??? ms if the caller is sending a message?

    (It may be foolish! Just consider I'm not a programmer!)


Log in to reply