struct ray (basic)