Best practise to transfer object characteristics
-
On 09/05/2018 at 16:52, xxxxxxxx wrote:
Hi folks,
usually there are different ways to perform a task and sometimes I'm unsure which one to prefer.
E.g. like these two ways to transfer the rotation from one object to another in Python.
Way 1:
obj_2.SetRelRot(obj_1.GetRelRot())
Way 2:
obj_2[c4d.ID_BASEOBJECT_REL_ROTATION] = obj_1[c4d.ID_BASEOBJECT_REL_ROTATION]
The outcome is the same here but is one way better than the other and why (e.g. performance-wise)?
I'd intuitionally tend to the first method but I'm not absolutely sure if it is really superior to way 2.
Any hints?
Kind regards,
Tom -
On 09/05/2018 at 19:10, xxxxxxxx wrote:
This is covered some on a cineversity wiki page, although it doesn't use the exact examples you have:
https://www.cineversity.com/wiki/Python%3A_Creating_objects_and_modifying_parameters/
They don't get into object methods like SetRelRot(), so it'd still be interesting to find out if there's a big difference there.
-
On 10/05/2018 at 02:53, xxxxxxxx wrote:
Hi,
The fastest way is the first with SetRelRot().
darby linked an interesting page on Cineversity wiki, where there's a nice explanation why using the subscript operator [] is slower.
In the end, performance isn't so important for most scripters and using [] isn't wrong for object's parameters.
-
On 10/05/2018 at 06:08, xxxxxxxx wrote:
Hi Darby and Yannick,
thank you both of you, also for the wiki link.
So I had the right feeling indeed.Kind regards,
Tom