HPBToMatrix and R13?



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

    On 09/09/2011 at 05:33, xxxxxxxx wrote:

    Hi,

    where are the definitions of "order" in R13 for methode HPBToMatrix??

    _<_dt id="c4d.utils.hpbtomatrix"_>_ c4d.utils.HPBToMatrix( hpb , order )
    e.g. utils.HPBToMatrix(myhpb,c4d. ROT_YXZGLOBAL) will result in "module object has no attribute 'ROT_YXZGLOBAL'.

    And if I set direct numeric values from R12, the effect in R13 is not the same as in R12:

    eg.: utils.HPBToMatrix(myhpb,0 _)

    Has anybody an idea?

    Meinolf
    _



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

    On 09/09/2011 at 07:23, xxxxxxxx wrote:

    I can only confirm that it does not work as before.
    We do need SDK snippets asap for this and the new SplineGUI.

    Cheers
    Lennart



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

    On 09/09/2011 at 08:35, xxxxxxxx wrote:

    It looks like the new definitions are found in the coffee.h file.

    EXAMPLE:

    c4d.utils.HPBToMatrix(myhpb, c4d.ROTATIONORDER_ZXYGLOBAL)
    

    -ScottA



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

    On 09/09/2011 at 08:50, xxxxxxxx wrote:

    Ah, good call.
    Interesting how the rotations are based from the vector….
    v.x = pitch
    v.y = heading etc…

    Cheers
    Lennart



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

    On 09/09/2011 at 09:35, xxxxxxxx wrote:

    Jepp, this is fine. Thank you! Now my plugin works well with R13.

    To keep scripts compatible with R12 we now have to make extra code:

      
          if (c4d.GetC4DVersion()>=13000) :  
              c4dROT_HPB=c4d.ROTATIONORDER_HPB  
              c4dROT_YXZGLOBAL=c4d.ROTATIONORDER_YXZGLOBAL  
          else:  
              c4dROT_HPB=c4d.ROT_HPB  
              c4dROT_YXZGLOBAL=c4d.ROT_YXZGLOBAL  
    

    ...and we have to exchange first and second component of the vector... 😠

      
                  if (c4d.GetC4DVersion()>=13000) :  
                      v=c4d.Vector(cmd['y'],cmd['x'],cmd['z'])  
                  else:  
                      v=c4d.Vector(cmd['x'],cmd['y'],cmd['z'])  
    

    Meinolf



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

    On 09/09/2011 at 16:09, xxxxxxxx wrote:

    It looks as if:
    HPBToMatrix(vector) still can be used (only 1 argument)
    Is this a legacy mode that will be dropped at a time later?

    Also, are we sure the "swapped" x and y vectors are correct and not a bug?

    PS.
    R12 GetOptimalAngle(vectorA , vectorB)
    is changed.
    It now need a 3:rd argument, rotation order to run (no legacy mode)
    R13 is:
    GetOptimalAngle(vectorA , vectorB, c4d.ROTATIONORDER_XYZGLOBAL)
    I haven't checked if the vectors are swapped as in the HPBToMatrix()
    DS.


Log in to reply