# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Public Member Functions | Protected Attributes

# vl::FileSystem Class Reference

Manages multiple VirtualDirectory objects. More...

`#include <FileSystem.hpp>`

Inheritance diagram for vl::FileSystem:

List of all members.

## Public Member Functions

| FileSystem ()
virtual ref< VirtualFile > | locateFile (const String &full_path, const String &alternate_path=String()) const
| Looks for a VirtualFile on the disk and in the currently active FileSystem.
virtual ref< VirtualDirectory > | locateDirectory (const String &name) const
virtual void | listFilesRecursive (std::vector< String > &file_list) const
| Returns the names of all the files contained in the previously added Directories.
virtual void | listFilesRecursive (std::vector< String > &file_list, const String &match) const
| Returns the names of all the files matching the given filter.
std::vector< ref < VirtualDirectory > > & | directories ()
| Returns the list of VirtualDirectory objects added to a FileSystem.
const std::vector< ref < VirtualDirectory > > & | directories () const
| Returns the list of VirtualDirectory objects added to a FileSystem.

## Protected Attributes

std::vector< ref < VirtualDirectory > > | mDirectories

## Detailed Description

Manages multiple VirtualDirectory objects.

Useful when you want to query more than one VirtualDirectory from a single point.

See also:
  - VirtualDirectory
  - DiskDirectory
  - MemoryDirectory
  - ZippedDirectory
  - VirtualFile
  - DiskFile
  - MemoryFile
  - ZippedFile

Definition at line 58 of file FileSystem.hpp.

## Constructor & Destructor Documentation

vl::FileSystem::FileSystem | ( | ) | `[inline]`

Definition at line 63 of file FileSystem.hpp.

References VL_DEBUG_SET_OBJECT_NAME.

## Member Function Documentation

ref< VirtualFile > FileSystem::locateFile | ( | const String & | full_path,
|  | const String & | alternate_path = `String()`
| ) |  | const`[virtual]`

Looks for a VirtualFile on the disk and in the currently active FileSystem.

If more than a file exists with the same name the VirtualFile returned is the one found in the VirtualDirectory added the latest.

This means that a VirtualDirectory overrides the ones added before if duplicate file name exists. If a file with the given name exists in the "." directory it will be located and returned immediately.

Visualization Library locates a file scanning the following paths (in the specified order):

- first split `full_path` into `file_path` and `file_name`

- look for the following file paths:
  1. ./file_path/file_name
  2. /fs/file_path/file_name
  3. ./alternate_path/file_path/file_name
  4. /fs/alternate_path/file_path/file_name
  5. ./file_name
  6. /fs/file_name
  7. ./alternate_path/file_name
  8. /fs/alternate_path/file_name

`"/fs"` stays for Visualization Library currently mounted FileSystems.

Definition at line 61 of file FileSystem.cpp.

References directories(), vl::String::empty(), vl::String::extractFileName(), and NULL.

Referenced by vl::LoadWriterDae::load(), vl::load3DS(), vl::loadAC3D(), vl::loadBMP(), vl::loadDAT(), vl::loadDDS(), vl::loadDICOM(), vl::loadImage(), vl::loadJPG(), vl::loadMD2(), vl::loadOBJ(), vl::ObjLoader::loadOBJ(), vl::loadPLY(), vl::loadPNG(), vl::loadSTL(), vl::String::loadText(), vl::loadTGA(), vl::loadTIFF(), vl::locateFile(), vl::A3DSLoader::readMapChunk(), and vl::ZippedDirectory::ZippedDirectory().

ref< VirtualDirectory > FileSystem::locateDirectory | ( | const String & | name ) | const`[virtual]`

Definition at line 96 of file FileSystem.cpp.

References directories(), and NULL.

Referenced by vl::loadImagesFromDir().

void FileSystem::listFilesRecursive | ( | std::vector< String > & | file_list ) | const`[virtual]`

Returns the names of all the files contained in the previously added Directories.

Files from different Directories but with the same name appear more than once in 'file_list'. Use carefully this function as it enumerates recursively all the files in the directory trees.

Definition at line 115 of file FileSystem.cpp.

References directories().

void FileSystem::listFilesRecursive | ( | std::vector< String > & | file_list,
|  | const String & | match
| ) |  | const`[virtual]`

Returns the names of all the files matching the given filter.

Use carefully this function since it enumerates recursively all the files in the directory trees. The `match` parameter must be of the type `"*abc"` or `"*abc*"` or `"abc*"`.

Definition at line 129 of file FileSystem.cpp.

References directories().

std::vector< ref<VirtualDirectory> >& vl::FileSystem::directories | ( | ) | `[inline]`

Returns the list of VirtualDirectory objects added to a FileSystem.

Definition at line 84 of file FileSystem.hpp.

Referenced by vl::VisualizationLibrary::initCore(), listFilesRecursive(), locateDirectory(), and locateFile().

const std::vector< ref<VirtualDirectory> >& vl::FileSystem::directories | ( | ) | const`[inline]`

Returns the list of VirtualDirectory objects added to a FileSystem.

Definition at line 87 of file FileSystem.hpp.

## Member Data Documentation

std::vector< ref<VirtualDirectory> > vl::FileSystem::mDirectories`[protected]`

Definition at line 90 of file FileSystem.hpp.

The documentation for this class was generated from the following files:

- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlCore/FileSystem.hpp
- D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlCore/FileSystem.cpp

Visualization Library v2011.09.1162 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu Jan 26 2012 00:44:04.
Permission is granted to use this page to write and publish articles regarding Visualization Library.