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

    how to differentiate object is joint?

    Scheduled Pinned Locked Moved SDK Help
    3 Posts 0 Posters 278 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

      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

      On 27/08/2008 at 23:26, xxxxxxxx wrote:

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

      ---------
      I Want to differentiate object is joint or not in scene, 
      how Can I to Do by C++ sdk? 
               thank you advance!!!
       
      Just check for Ojoint.

      >

        
      \> if(op->GetType() == Ojoint)  
      \> {  
      \>      //do something  
      \> }  
      \> 
      

      cheers,
      Matthias

      -----------------
      MAXON
      developer support
      that raise error show Ojoint is undefine,where is define Ojoint ? my code can't  be compiler passed, Ojoint is not define:
      void GetAllJoint(BaseDocument *doc, BaseObject *oJoints, int& iOutResult)
      {
       if (oJoints)
       {
        BaseObject *res = NULL;
        ModelingCommandData cd;
        cd.doc = doc;
        cd.op = oJoints;
        if(!SendModelingCommand(MCOMMAND_CURRENTSTATETOOBJECT, cd)) return;
        res = static_cast<BaseObject*>(cd.result->GetIndex(0));
        if(!res) return ;
        if(res->GetType() == Ojoint)
        {
         iOutResult = 1;
        }
        
           if(oJoints->GetDown())
        {
         GetAllJoint(doc, oJoints->GetDown());
        }
        
        if(oJoints->GetNext())
        {
         GetAllJoint(doc, oJoints->GetNext(), iOutResult);
        }
       }
      }
      bool IsJointed()
      {
       BaseDocument *doc=GetActiveDocument();
          BaseObject *obj = doc->GetFirstObject();
       int iRet = 0;
        
           if(obj)
           {
         GetAllJoint( doc,obj, iRet);
         if ( iRet > 0)
         {
          return true;
         }

      }
       return false;
      }

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

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        On 27/08/2008 at 23:39, xxxxxxxx wrote:

        Ojoint is probably defined in the '_<_install_>_:modules' folder under 'ca2'. What I do to avoid these situations is copy the modules folder into my (copy of the) resource folder. Otherwise, you'll need to include the appropriate header include folders in your project settings.

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

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          On 28/08/2008 at 00:34, xxxxxxxx wrote:

          Which version of Cinema4D are you using? It compiles just fine under Cinema4D 10.5.

          Btw. please don't open double threads for the same subject as it makes it harder to support.

          cheers,
          Matthias

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