Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware 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

    TagData::Execute called many times

    SDK Help
    0
    2
    196
    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/04/2007 at 10:10, xxxxxxxx wrote:

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

      ---------
      Is this by design?

      The TagData::Execute seems to be called many times when you Render to the picture viewer.

      For example, If I am on frame 6000 in the editor and click Render to picture viewer (just the one frame), The execute function on my tag will get called 5999 extra times. I am guessing this is to allow calculations on the previous 5999 frames?

      Is it possible to stop this? so its only called once?

      Thanks

      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/04/2007 at 10:25, xxxxxxxx wrote:

        I had this problem with GetDDescription() on my plugin object - called for every previous frame including the current.

        What I did to avoid the time lag induced the further the animation render frames progressed was to add this to the top of the method:

        if (CheckIsRunning(CHECKISRUNNING_EDITORRENDERING) || CheckIsRunning(CHECKISRUNNING_EXTERNALRENDERING))          return TRUE;

        For Execute() on your tag, I don't know if this will be deleterious to just return on any rendering - you might be doing something within Execute() that still needs to be done on the current frame. Then you'll have to add additional checking to see if the call is on the current frame somehow (?).

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