message: Handle the case that there's no geomObjFile
diff: @@ -299,11 +299,10 @@ void load_moana(std::string const& filename, model& mod)
  std::map<std::string, std::shared_ptr<sg::disney_material>> materials;
  load_material_file((island_base_path / mat_file).string(), materials);
  -
  - // transformMatrix
  auto base_transform = std::make_shared<sg::transform>();
  root->add_child(base_transform);
  + // transformMatrix
  int i = 0;
  for (auto& item : pt.get_child("transformMatrix"))
  {
  @@ -313,6 +312,8 @@ void load_moana(std::string const& filename, model& mod)
  // geomObjFile
  + try
  + {
  std::string geom_obj_file = pt.get<std::string>("geomObjFile");
  std::vector<std::shared_ptr<sg::node>> objs;
  load_obj((island_base_path / geom_obj_file).string(), materials, objs);
  @@ -320,6 +321,11 @@ void load_moana(std::string const& filename, model& mod)
  {
  base_transform->add_child(obj);
  }
  + }
  + catch (...)
  + {
  + // No geomObjFile
  + }
  // instancedPrimitiveJsonFiles
  @@ -338,8 +344,7 @@ void load_moana(std::string const& filename, model& mod)
  }
  catch (...)
  {
  - // Nothing to handle, just no instancedPrimitiveJsonFiles present
  - // (property_tree.get_child() throws)
  + // No instancedPrimitiveJsonFiles
  }
  @@ -372,7 +377,7 @@ void load_moana(std::string const& filename, model& mod)
  }
  catch (...)
  {
  - // Rather the default case, add the top level
  + // No. Rather the default case, add the top level
  // json file's geomObjFile content as an instance
  for (auto c : base_transform->children())
  {
  @@ -402,8 +407,7 @@ void load_moana(std::string const& filename, model& mod)
  }
  catch (...)
  {
  - // Nothing to handle, just no instancedCopies present
  - // (property_tree.get_child() throws)
  + // No instancedCopies
  }
  