message: Core: re-removed locks in Quantities API to improve performance of UIs.
  Heavy usage of these functions for monitoring of e.g. the magnetization would otherwise result in blocking the simulation and the UI.
diff: @@ -15,11 +15,12 @@ void Quantity_Get_Magnetization(State * state, float m[3], int idx_image, int i
  // Fetch correct indices and pointers
  from_indices( state, idx_image, idx_chain, image, chain );
  - image->Lock();
  + // image->Lock(); // Mutex locks in these functions may cause problems with the performance of UIs
  auto mag = Engine::Vectormath::Magnetization(*image->spins);
  image->M = Vector3{ mag[0], mag[1], mag[2] };
  - image->Unlock();
  +
  + // image->Unlock();
  for (int i=0; i<3; ++i)
  m[i] = (float)mag[i];
  @@ -38,16 +39,17 @@ float Quantity_Get_Topological_Charge(State * state, int idx_image, int idx_chai
  std::shared_ptr<Data::Spin_System_Chain> chain;
  // Fetch correct indices and pointers
  -
  from_indices( state, idx_image, idx_chain, image, chain );
  + // image->Lock(); // Mutex locks in these functions may cause problems with the performance of UIs
  +
  scalar charge = 0;
  int dimensionality = Geometry_Get_Dimensionality(state, idx_image, idx_chain);
  - image->Lock();
  if (dimensionality == 2)
  charge = Engine::Vectormath::TopologicalCharge(*image->spins,
  image->geometry->spin_pos, image->geometry->triangulation());
  - image->Unlock();
  +
  + // image->Unlock();
  return (float)charge;
  }
  