code: def from_proto(cls, proto_mesh, scale,
                        pos, vel, euler, euler_vel,
                        rotation_vel=(0,0,0),
                        component_com_x=None):
          
  
          mesh = cls(**proto_mesh.items())
  
          mesh._copy_roche_values()
          mesh._scale_mesh(scale=scale)
          mesh._place_in_orbit(pos, vel, euler, euler_vel, rotation_vel, component_com_x)
  
          return mesh
docs: Turn a ProtoMesh into a Mesh scaled and placed in orbit.
  
          Update all geometry fields from the proto reference frame, to the
          current system reference frame, given the current position, velocitiy,
          euler angles, and rotational velocity of THIS mesh.
  
          :parameter list pos: current position (x, y, z)
          :parameter list vel: current velocity (vx, vy, vz)
          :parameter list euler: current euler angles (etheta, elongan, eincl)
          :parameter list rotation_vel: rotation velocity vector (polar_dir*freq_rot)