code: def euler_number(self):
          
          euler = int(self.referenced_vertices.sum() -
                      len(self.edges_unique) +
                      len(self.faces))
          return euler
docs: Return the Euler characteristic (a topological invariant) for the mesh
          In order to guarantee correctness, this should be called after
          remove_unreferenced_vertices
  
          Returns
          ----------
          euler_number : int
            Topological invariant