GPS_update function

I have a question regarding the update_GPS function in sensor.cpp file under AntenaTracker package.

In the beginning of this function there is an if condition:
if (gps.last_message_time_ms() != last_gps_msg_ms &&
gps.status() >= AP_GPS::GPS_OK_FIX_3D)

I was wondering what is the condition that are being checked in this if statement?

I’m a bit new to the ArduPilot packages, my apology if the question is naive.

check to see if there is a new message that we have not already read

checks that the gps fix is at least 3d

Thanks Peter for the prompt reply. What does the latter one mean? what is GPS fix? and what does it mean to be 3d for the gps status?