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

    Set to Isoparm

    SDK Help
    0
    7
    571
    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 09/02/2004 at 20:05, xxxxxxxx wrote:

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

      ---------
      Hi
      Can anyone tell me how to change the display mode in the display tag into isoparm.
      I have a code:
         BaseTag *tag = BaseTag::Alloc(Tdisplay);
         BaseContainer *con = tag->GetDataInstance();
         
         ObjGrid->InsertTag(tag, NULL);
      If i do like this, the display mode will be set to default as Gouraud Shading
      Thanks and regards

      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 10/02/2004 at 15:34, xxxxxxxx wrote:

        Please have a look in the Tdisplay.res file. (It's within your C4D directory somewhere; search for it!) There you'll find all the container values for the display tag. (Also have a look in the Tdisplay.h file for some additional constants.)

        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 10/02/2004 at 17:50, xxxxxxxx wrote:

          Hi all
          I have gone through the samples about this. Now I include the Tdisplay.h in my cpp file
             PluginTag *tag = PluginTag::Alloc(Tdisplay);
             tag->GetData().GetLong(DISPLAYTAG_DISPLAYMODE_ISOPARMS, 3);
             ObjGrid->InsertTag(tag, NULL);
          But i still could not the display mode as isoparm. Can anyone tell me what's the problem of this?
          Thanks and regards

          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 10/02/2004 at 18:30, xxxxxxxx wrote:

            1. You don't need to include Tdisplay.h since it's already included by c4d.h.
            2. GetData() returns a temporary. Use GetDataInstance() if you want to modify the returned container directly.
            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 10/02/2004 at 18:49, xxxxxxxx wrote:

              Thanks for the reply, now i have modified into this
                 BaseObject *ObjGrid = BaseObject::Alloc(Oplane);
                 PluginTag *tag = PluginTag::Alloc(Tdisplay);
                 BaseContainer *con = tag->GetDataInstance();
                 con->SetLong(DISPLAYTAG_DISPLAYMODE_ISOPARMS, 3);
                 ObjGrid->InsertTag(tag, NULL);
              But i still could not get the isoparms mode, could you plz tell me what's wrong here?
              Thanks and regards

              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 19/02/2004 at 19:19, xxxxxxxx wrote:

                It seems that Tdisplay is one of those tags for which GetDataInstance() doesn't work. (I think it's because it doesn't use a container internally.)
                This code seems to work:

                    
                    
                    BaseObject *Obj = BaseObject::Alloc(Oplane);
                    
                    
                    
                    
                    PluginTag *tag = PluginTag::Alloc(Tdisplay);  
                    BaseContainer con;  
                    con.SetLong(DISPLAYTAG_DISPLAYMODE, DISPLAYTAG_DISPLAYMODE_ISOPARMS);  
                    con.SetLong(DISPLAYTAG_AFFECT_DISPLAYMODE, TRUE);  
                    tag->SetData(con);  
                    Obj ->InsertTag(tag, NULL);
                    
                    
                    
                    
                    doc->InsertObject(Obj, NULL, NULL);  
                    EventAdd();
                

                Also, please note that DISPLAYTAG_DISPLAYMODE is the ID and is the value DISPLAYTAG_DISPLAYMODE_ISOPARMS=3.

                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 19/02/2004 at 19:33, xxxxxxxx wrote:

                  Ok thanks Mikael, It is working very fine. It is because the getdatainstance does not work
                  Regards
                  Albert

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