Py4D General bugs

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

On 14/03/2011 at 10:27, xxxxxxxx wrote:

User Information:
Cinema 4D Version:    
Platform:      
Language(s) :

---------
So, here's one for general bugs, not for SDK bugs

-------------

BaseObject.GetAbsPos() returns not the absolute position, it returns the relative.

import c4d  
if __name__=='__main__':  
  print op.GetAbsPos()

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

On 18/03/2011 at 11:14, xxxxxxxx wrote:

Error when acessing id 700 of a RenderData object.

import c4d  
def main() :  
  rd = doc.GetActiveRenderData()  
  print rd[700]  
if __name__=='__main__':  
  main()

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

On 20/03/2011 at 14:09, xxxxxxxx wrote:

BaseObject.GetAbsPos() returns  not  the absolute position, it returns the relative.

GetAbsPos: Returns the absolute position of the object. These will be absolute local coordinates within its parent object.

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

On 20/03/2011 at 14:11, xxxxxxxx wrote:

Error when acessing id 700 of a RenderData object.

This exception is correct. If you want to access the user data object you have to pass the index (starts with 1).

rd[c4d.ID_USERDATA, 1]

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

On 21/03/2011 at 10:29, xxxxxxxx wrote:

These will be absolute local coordinates within its parent object.

Well, that doesn't make sense to me. Shouldn the absolute position be the global ?
As said, it does return the same as GetRelPos() 😪

This exception is correct. If you want to access the user data object you have to pass the index (starts with 1).

rd[c4d.ID_USERDATA, 1]

Index 700 is the Userdata ? Didn't know that. 😉

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

On 21/03/2011 at 14:35, xxxxxxxx wrote:

 Shouldn the absolute position be the global ?  
As said, it does return the same as GetRelPos() ![Sleepy](http://www.plugincafe.com/forum/smileys/smiley12.gif)

No, absolute!=global. The C++ documentation contains an article about "Freeze Transformation". It should help you on this topic.

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

On 01/09/2011 at 09:03, xxxxxxxx wrote:

I also was staggered by this behaviour. I suppose method should be renamed or documented at least (in python docs).

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

On 02/09/2011 at 01:20, xxxxxxxx wrote:

absolute position = well, the absolute position 🙂
relative position = absolute position - frozen position
frozen position = a position offset

cheers,
Matthias

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

On 02/09/2011 at 02:32, xxxxxxxx wrote:

Originally posted by xxxxxxxx

absolute position = well, the absolute position 🙂
relative position = absolute position - frozen position
frozen position = a position offset

cheers,
Matthias

Yes, I understood that after reading C++ docs. I meant that generally (almost always) game developers use "absolute" prefix to determine that some transformation is relative to global frame, e.g. accumulated traversing scene graph. Python docs doesnt't say that it is the position relative to the parent frame, so I've spent a bit time working this out.