<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def is_convex(mesh):
 """ Check if a mesh is convex. Parameters mesh : Trimesh Input geometry Returns convex : bool Was passed mesh convex or not """

    # don't consider zero- area faces
    nonzero = mesh.area_faces > tol.merge

    # adjacencies with two nonzero faces
    adj_ok = nonzero[mesh.face_adjacency].all(axis=1)

    # make threshold of convexity scale- relative
    threshold = tol.planar * mesh.scale
    # if projections of vertex onto plane of adjacent
    # face is negative, it means the face pair is locally
    # convex, and if that is true for all faces the mesh is convex
    convex = bool(mesh.face_adjacency_projections[adj_ok].max() < threshold)

    return convex