Execute (When?) lock x,y,z



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

    On 18/05/2011 at 06:11, xxxxxxxx wrote:

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

    ---------
    Hello

    I am working on a little plugin tag which is supposed to lock selected axis - somewhat like the X,Y,Z lock of the C4D interface.

    No problem locking an object to a specified fixed location which the user can enter in the Tag description. But what about simply locking an object at it's current position?

    In Execute() I would have to get info about where the object is before moved and where it is going. How can this be done?

    Thanks

    Peter



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

    On 18/05/2011 at 08:16, xxxxxxxx wrote:

      
    //This is COFFEE, not C++  
      
    var isLocked = FALSE;  
    var pos = NULL;  
    TAG::Execute(op,doc) {  
      if (op->GetData(TAG_ISLOCKENABLED)) {  
          if (!isLocked) {  
              pos = op->GetPosition();  
          }  
          isLocked = TRUE;  
          if (pos) {  
              op->SetPosition(pos);  
          }  
      }  
      else { isLocked = FALSE; }  
    }  
    

    Cheers, Niklas


Log in to reply