message: Fully set up QueryMeshWrapper in constructor.
  This should make it easier to proceed with extending for multidomain
  support.
diff: @@ -211,6 +211,7 @@ public:
  createBlueprintStubs(coordset, topology);
  }
  }
  +
  /// Gets the root group for this mesh blueprint
  sidre::Group* rootGroup() const { return m_group; }
  /// Gets a domain group.
  @@ -654,10 +655,19 @@ class QueryMeshWrapper
  public:
  using Circle = primal::Sphere<double, 2>;
  - QueryMeshWrapper(const std::string& cpFilename = "cp_coords")
  + QueryMeshWrapper(const std::string& cpFilename)
  : m_dc(cpFilename, nullptr, true)
  { }
  + QueryMeshWrapper(const std::string& cpFilename,
  + const std::string& dcMeshFilename,
  + const std::string& dcMeshPath)
  + : m_dc(cpFilename, nullptr, true)
  + {
  + setupMesh(dcMeshFilename, dcMeshPath);
  + setupParticleMesh();
  + }
  +
  // Returns a pointer to the MFEMSidreDataCollection
  sidre::MFEMSidreDataCollection* getDC() { return &m_dc; }
  const sidre::MFEMSidreDataCollection* getDC() const { return &m_dc; }
  @@ -1094,11 +1104,18 @@ int main(int argc, char** argv)
  // Load computational mesh and generate a particle mesh over its nodes
  // These will be used to query the closest points on the object mesh(es)
  //---------------------------------------------------------------------------
  +#if 1
  + QueryMeshWrapper query_mesh_wrapper(params.distanceFile,
  + params.getDCMeshName(),
  + params.meshFile);
  + query_mesh_wrapper.printMeshInfo();
  +#else
  QueryMeshWrapper query_mesh_wrapper(params.distanceFile);
  query_mesh_wrapper.setupMesh(params.getDCMeshName(), params.meshFile);
  - query_mesh_wrapper.printMeshInfo();
  query_mesh_wrapper.setupParticleMesh();
  + query_mesh_wrapper.printMeshInfo();
  +#endif
  const bool rankHasQueryPoints =
  axom::utilities::random_real(0., 1.) < (1. - params.percentEmptyRanks());
  @@ -1135,6 +1152,10 @@ int main(int argc, char** argv)
  }
  // Put sidre data into Conduit query_mesh_node.
  + /*
  + TODO: Make query_mesh_node a multi-domain blueprint node.
  + If rank has no query point, then no child domain node.
  + */
  conduit::Node query_mesh_node;
  if(rankHasQueryPoints)
  {
  