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
    • Recent
    • Tags
    • Users
    • Login
    The Maxon SDK Team is currently short staffed due to the winter holidays. No forum support is being provided between 15/12/2025 and 5/1/2026. For details see Maxon SDK 2025 Winter Holidays.

    Writing a tag based on the Protection tag

    Scheduled Pinned Locked Moved SDK Help
    5 Posts 0 Posters 445 Views
    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 Offline
      Helper
      last edited by

      On 25/05/2013 at 10:26, xxxxxxxx wrote:

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

      ---------
      I want to write a new tag, based on the Protection tag.
      Where is this tag defined? Cannot find it, have searched almost all files in C4D.

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

        On 25/05/2013 at 10:31, xxxxxxxx wrote:

        What do you mean by "defined"? The TagData subclass of the Protection Tag is not public, therefore
        you can not inherit from it. What you could do to inherit its behavior, is to allocate a Tprotection
        tag with the initialization of your own tag and redirect all calls to the allocated tag.

        -Niklas

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

          On 25/05/2013 at 11:02, xxxxxxxx wrote:

          As Niklas notes, you can only derive from NodeData-based classes and utilize Xbase descriptions (where X is the type such as Obase, Tbase, etc.).  Developers cannot extend built-in objects.

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

            On 26/05/2013 at 09:11, xxxxxxxx wrote:

            One point to mention is that you can 'extend' the Protection Tag (or anything else that shows its data in the Attributes Manager) using UserData.

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

              On 26/05/2013 at 13:23, xxxxxxxx wrote:

              Ok, now I learned this.
              Why I would do it - the protection tag has no "Enabled" property, which I really miss.

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