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.