<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def invert(self):
 """ Invert the mesh in- place by reversing the winding of every face and negating normals without dumping the cache. Alters --------- self.faces : columns reversed self.face_normals : negated if defined self.vertex_normals : negated if defined """

        with self._cache:
            if 'face_normals' in self._cache:
                self.face_normals *= -1.0
            if 'vertex_normals' in self._cache:
                self.vertex_normals *= -1.0
            self.faces = np.fliplr(self.faces)
        # save our normals
        self._cache.clear(exclude=['face_normals',
                                   'vertex_normals'])