bool filepattern_to_image_list(std::vector<Image>& images, const std::string& pattern) { // Try range pattern FilenameList files; bool was_range_pattern = filenames_from_pattern(files, pattern); if (was_range_pattern) { for (int i = 0; i < files.size(); i++) { images.push_back(Image(files[i])); } return true; } // Try split pattern Size size; std::string filename; bool was_split_pattern = parse_image_split_pattern(pattern, &size, &filename); if (was_split_pattern) { // Split std::vector<Image> split_images = image_split(Image(filename), size); for (int i = 0; i < split_images.size(); i++) { images.push_back(split_images[i]); } return true; } // Treat as normal filename images.push_back(Image(pattern)); return false; }
static FilenameList io_directory_subdirectories(const char* path) { FilenameList list; DirListing listing = list_directory(path); for (int i = 0; i < listing.size(); i++) { if (listing[i].is_directory) { list.push_back(listing[i].name); } } return list; }
/* Either given as a list of filenames or a base name, extension, * and number of sequentially numbered files */ static FilenameList parse_imgfilelist(const YAML::Node& node) { int seq = parse_defaulted(node, "variations", 0); bool is_seq = seq > 0; FilenameList filenames; if (is_seq) { std::string tilefile = parse_str(node["file"]); for (int i = 0; i < seq; i++) { char number[32]; snprintf(number, 32, "%d", i); filenames.push_back( tilefile + number + parse_str(node["extension"])); } } else { node["file"] >> filenames; } return filenames; }
void IndexedIOTestSuite<FileIndexedIO>::getFilenames( FilenameList &filenames ) { filenames.clear(); filenames.push_back("./test/IECore/data/fioFiles/2.13.0/rhel4.i686/types.fio"); filenames.push_back("./test/IECore/data/fioFiles/2.13.0/osx104.i686/types.fio"); filenames.push_back("./test/IECore/data/fioFiles/3.0.0/rhel4.i686/types.fio"); filenames.push_back("./test/IECore/data/fioFiles/3.0.0/cent5.x86_64/types.fio"); filenames.push_back("./test/IECore/data/fioFiles/4.16.0/cent5.x86_64/types.fio"); filenames.push_back("./test/IECore/data/fioFiles/5.0.0/cent5.x86_64/types.fio"); }