Thank you demotomohiro! I think I now understand a little more what is going on, your first code do behaves as I want. echo mesh.triangles[0].points[0].x # prints 0.0 mesh.points[0].x = 2.0 echo mesh.points[0].x # prints 2.0 echo mesh.triangles[0].points[0].x # prints 2.0 mesh.triangles[0].points[0].x = 0.0 echo mesh.triangles[0].points[0].x # prints 0.0 echo mesh.points[0].x # prints 0.0 Run
If I get it right, this can be done faster using `ptr` instead of ref, and all I have to care is deallocate normal objects (I think that in a code like this should not be too difficult, right?). I do not pretend to be too picky nor a purist, is just that the final program must perform a huge number of geometrical transformations, and I need it to be very fast.