Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    stop rendering

    SDK Help
    0
    9
    764
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            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)

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              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. 🙂

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                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.

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  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)

                  1 Reply Last reply Reply Quote 0
                  • H
                    Helper
                    last edited by

                    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?

                    1 Reply Last reply Reply Quote 0
                    • H
                      Helper
                      last edited by

                      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!)

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post