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

    Create a UVWTag in C.O.F.F.E.E.

    SDK Help
    0
    6
    717
    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 30/05/2003 at 15:51, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   8.100 
      Platform:      
      Language(s) :   C.O.F.F.E.E  ;

      ---------
      Hello everybody.
       
      If anyone have an example of how to create and apply a UVWTag to a polygonobject using C.O.F.F.E.E I'd really like to see it.
      I have succeeded in applying the tag but cinema crashes when I try to use it (View it with bodypaint or apply a texture). I assume that I'm filling the tag with corrupt data or miss something when I apply it to the object.
      Is the UVWCoords ranging from (float) 0-1 on each axis or (integer) width, height of the texture?
       
      (Pardon my bad english but it's late and I'm tired and frustrated)
      Regards / Feccand

      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/06/2003 at 11:52, xxxxxxxx wrote:

        Sorry, but this is impossible in C.O.F.F.E.E. due to the cannot-create-VariableTags limitation. It should be possible to manipulate UVWTags that C4D has created.

        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/06/2003 at 15:24, xxxxxxxx wrote:

          Actually it is quite possible.
          With  help  from the cg-talk forum I resolved the issue.
          Here is a small example to show how it is done.

              
              
              
              
              main(doc,op)  
              {  
               var checktag = op->GetFirstTag();  
               while(checktag)  
               {  
                if(checktag->GetType() == TAG_UVW)  
                {  
                 println("Object already has UVWTag");  
                 return;  
                }  
                checktag = checktag->GetNext();  
               }
              
              
              
              
               var st_time = GeGetSysTime();  
               println("Time: ", st_time->hour, ":", st_time->minute, ":", st_time->second);
              
              
              
              
               var t_tag = new(UVWTag);  
               var random = new(Random);  
               random->Init(198376);
              
              
              
              
               var a_uvwcoords = new(array, 6*4);
              
              
              
              
               var counter;  
               var v_coord = vector(0);  
               for(counter = 0; counter < 6*4; counter++)  
               {  
                v_coord.x = random->Get01();  
                v_coord.y = random->Get01();  
                a_uvwcoords[counter] = v_coord;  
                println("Poly: ", counter/4, " Point: ", counter%4, " ", v_coord);  
               }
              
              
              
              
               var vc = new(VariableChanged);    
               vc->Init(0,op->GetPolygonCount());    
               if (!t_tag->Message(MSG_POLYGONS_CHANGED,vc))  
                return;    
                 
               if(!t_tag->SetData(a_uvwcoords))  
               {  
                println("SetData Failed!");  
                return;  
               }  
               t_tag->Message(MSG_UPDATE);
              
              
              
              
               if(!op->InsertTag(t_tag, NULL))  
               {  
                println("InsertTag Failed!");  
                return;  
               }  
               op->Message(MSG_UPDATE);  
              }
              
              
              
          

          Voila! And there it is.
           
          Regards / Feccand

          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/06/2003 at 15:26, xxxxxxxx wrote:

            Oh. Forgot to mention that the example assumes that the tag is on a cube that is made editable and has no UVWTag.
             
            Regards / Feccand

            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/06/2003 at 01:26, xxxxxxxx wrote:

              Sorry, I forgot about that workaround.

              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/06/2003 at 05:46, xxxxxxxx wrote:

                Hey. No problem.
                I'm just glad it works..
                 
                Regards / Feccand

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