Each 3D Node has a ZPRS (Position Rotation Scale) class instance included. cf: - SceneGraph/ZooNodeGraph.h - Datas/ZooPRS.h Each object has thus its own reference system with potential direction and rotation offsets (as in meshes' description in M3D file - first data line) M3setObjVec() & M3setObjAng() functions set these offsets. M3movObj() & M3rotateObj() update these offsets with delta values (using the original offsets as reference). M3movObjExt() & M3rotateObjExt() update these offsets with delta values (using the original reference system as reference). This is "quite as" changing these values in the object's father's refence system.