15 #include <vsg/core/Inherit.h>
16 #include <vsg/core/observer_ptr.h>
17 #include <vsg/io/FileSystem.h>
18 #include <vsg/maths/transform.h>
25 class OperationThreads;
29 using ReaderWriters = std::vector<ref_ptr<ReaderWriter>>;
38 template<
typename... Args>
49 void read(
Input& input)
override;
50 void write(
Output& output)
const override;
53 void add(
const ReaderWriters& rws);
56 ReaderWriters readerWriters;
62 CHECK_ORIGINAL_FILENAME_EXISTS_FIRST,
66 FindFileHint checkFilenameHint = CHECK_ORIGINAL_FILENAME_EXISTS_FIRST;
70 using FindFileCallback = std::function<
Path(
const Path& filename,
const Options* options)>;
71 FindFileCallback findFileCallback;
76 bool mapRGBtoRGBAHint =
true;
79 CoordinateConvention sceneCoordinateConvention = CoordinateConvention::Z_UP;
101 template<
typename... Args>
102 bool compatibleExtension(
const vsg::Path& filename,
const vsg::Options* options,
const Args&... args)
104 if (options && options->extensionHint && contains(options->extensionHint, args...))
return true;
105 return contains(vsg::lowerCaseFileExtension(filename), args...);
109 template<
typename... Args>
110 bool compatibleExtension(
const vsg::Options* options,
const Args&... args)
112 return options && options->extensionHint && contains(options->extensionHint, args...);
Definition: CommandLine.h:44
Class for passing IO related options to vsg::read/write calls.
Definition: Options.h:33
std::map< Path, CoordinateConvention > formatCoordinateConventions
Coordinate convention to assume for specified lower case file formats extensions.
Definition: Options.h:82
FindFileHint
Hint to use when searching for Paths with vsg::findFile(filename, options);.
Definition: Options.h:61
@ CHECK_ORIGINAL_FILENAME_EXISTS_LAST
check the filename exists with it's original path before trying to find it in Options::paths.
Definition: Options.h:63
virtual bool readOptions(CommandLine &arguments)
read command line options, assign values to this options object to later use with reading/writing fil...
std::map< std::string, ref_ptr< ShaderSet > > shaderSets
Definition: Options.h:90