diff --git a/R/read_in_prj.R b/R/read_in_prj.R index f36767aaf81b6186f10b737dcea00efb2f4aad7f..e0a5011d9679be5d744d5191307c3c84d8ad218a 100644 --- a/R/read_in_prj.R +++ b/R/read_in_prj.R @@ -5,21 +5,22 @@ #'@description Wrapper function to read in a whole .prj file #'@param ogs6_obj A OGS6 class object #'@param prj_path The path to the project file that should be read in +#'@param read_in_vtu flag: Should .vtu file be copied or read in? #'@export -read_in_prj <- function(ogs6_obj, prj_path){ +read_in_prj <- function(ogs6_obj, + prj_path, + read_in_vtu = FALSE){ assertthat::assert_that("OGS6" %in% class(ogs6_obj)) xml_doc <- validate_read_in_xml(prj_path) - from_other_path <- (dirname(ogs6_obj$sim_path) != dirname(prj_path)) - - #Geometry reference + # Geometry reference gml_ref_node <- xml2::xml_find_first(xml_doc, "/OpenGeoSysProject/geometry") - #Meshes references + # Meshes references vtu_ref_nodes <- NULL - if(class(gml_ref_node) != "xml_missing"){ + if(!any(grepl("xml_missing", class(gml_ref_node), fixed = TRUE))){ gml_path <- paste0(dirname(prj_path), "/", xml2::xml_text(gml_ref_node)) read_in_gml(ogs6_obj, gml_path) @@ -31,13 +32,8 @@ read_in_prj <- function(ogs6_obj, prj_path){ for(i in seq_along(vtu_ref_nodes)){ vtu_ref <- xml2::xml_text(vtu_ref_nodes[[i]]) - ogs6_obj$add_mesh(r2ogs6_mesh(vtu_ref)) - - if(from_other_path){ - #Copy file into ogs6_obj$sim_path folder - file.copy(paste0(dirname(prj_path), "/", - vtu_ref), ogs6_obj$sim_path) - } + vtu_path <- paste0(dirname(prj_path), "/", vtu_ref) + ogs6_obj$add_mesh(OGS6_mesh$new(vtu_path)) } impl_classes <- get_implemented_classes()