SetUniqueIP



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

    On 27/07/2004 at 13:40, xxxxxxxx wrote:

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

    ---------
    What is the appropriate use of this?

    I assume that the IPs only need to be unqiue for the current hierarchy. I have a generator that takes inputs and generates multiple object hierarchies. In the simplest case I might generate with an input object such as:

    NULL
    1
    1
    1
    1
    1

    Since these are based off particles I assume I would not set a unique IP for NULL and the other obejcts would go in order ( 1, 2, 3, 4, 5 ). If 4 was dropped then it would be ( 1, 2, 3, 5 ). Yes, I did set OBJECT_UNIQUEENUMERATION flag. I am actually having issues that it will freeze up ( loop ) when I go to redner out using anything that uses this infromation ( including the built in Vector Motion Blur ). A working example that uses multiple objects would be very helpful.

    Best Regards,
    darf - coreav



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

    On 30/07/2004 at 12:02, xxxxxxxx wrote:

    We need an answer to this question please.

    regards,
    David Farmer



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

    On 31/07/2004 at 04:13, xxxxxxxx wrote:

    Sorry for the delay, but I've been away for a few days. I'll try to think of a good example, but what would help me the most would be a small samples that crashes the VMB. (Reproducible crashes are always a good way to get developer attention... :-)
    Also, is there anything wrong with your sample? Should that be 1...5 rather than 1...1? What is input and what is output? Sorry for the confusion...



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

    On 31/07/2004 at 08:41, xxxxxxxx wrote:

    The 1's are just object names. I explained in the paragraph how I was numbering them. I am just fishing for an SDK example that would use SetUniqueIP correctly.

    Best Regards,
    darf



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

    On 31/07/2004 at 16:37, xxxxxxxx wrote:

    Ok, so you have one input object ("1") that you create five copies of, some of which are only there some of the time? I'll see if I can reproduce the crash and/or create a working example.



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

    On 31/07/2004 at 17:10, xxxxxxxx wrote:

    Thank you.

    darf



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

    On 03/08/2004 at 03:15, xxxxxxxx wrote:

    SetUniqueIP()
    I finally got around to trying the SetUniqueIP() thing. However, I couldn't find any problems with vector motion blur. This is the code I had:

        
        
        BaseObject *AtomObject::GetVirtualObjects(PluginObject *op, HierarchyHelp *hh)  
        {  
          BaseObject *orig = op->GetDown();   
            
          // return if no input object is available  
          if (!orig) return NULL; 
        
        
        
        
          // request polygonized input  
          hh->AddVFlags(VFLAG_POLYGONAL);   
            
          Bool dirty = TRUE;
        
        
        
        
          // generate polygonalized clone of input object  
          BaseObject *main=NULL,*res=op->GetAndCheckHierarchyClone(hh,orig,HCLONE_ASPOLY,&dirty,FALSE,NULL);
        
        
        
        
          // if !dirty object is already cached and doesn't need to be rebuilt  
          if (!dirty) return res;   
          if (!res)   return NULL; 
        
        
        
        
          // group all further objects with this null object  
          main = BaseObject::Alloc(Onull);   
          if (!main) goto Error;  
            
          {  
            LONG frame = hh->GetDocument()->GetTime().GetFrame(hh->GetDocument()->GetFps());  
            for (LONG i = 2; i <= 7; ++i)  
            {  
              if (!(frame % i)) continue;  
                
              BaseObject* cl = static_cast<BaseObject*>(res->GetClone(0,NULL));  
              cl->SetPos(Vector(i*100, 0, 0));  
              cl->SetUniqueIP(i);  
                
              cl->InsertUnder(main);  
            }  
            blDelete(res);  
          }
        
        
        
        
          return main;
        
        
        
        
        Error:  
          blDelete(res);  
          blDelete(main);  
          return NULL;  
        }
    

    I've sent the scene I used to you by email. It animates just fine with VMB.



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

    On 03/08/2004 at 03:17, xxxxxxxx wrote:

    (Well, the scene mail bounced because of a full mailbox. It was just a modified atom object, with a cube inside, moving about with VMB turned on.)



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

    On 03/08/2004 at 06:57, xxxxxxxx wrote:

    I will work on it.

    Thanks!

    Regards,
    darf



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

    On 03/08/2004 at 15:05, xxxxxxxx wrote:

    Ok, let me know how it goes. I also noted that it was instructive to remove the SetUniqueIP() line and the OBJECT_UNIQUEENUMERATION flag, just to see that the VMB didn't work without them (it detects erroneous diagonal movement when objects are removed).


Log in to reply