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>
19 #include <vsg/state/StateCommand.h>
26 class OperationThreads;
30 using ReaderWriters = std::vector<ref_ptr<ReaderWriter>>;
39 template<
typename... Args>
52 void read(
Input& input)
override;
53 void write(
Output& output)
const override;
56 void add(
const ReaderWriters& rws);
59 ReaderWriters readerWriters;
65 CHECK_ORIGINAL_FILENAME_EXISTS_FIRST,
69 FindFileHint checkFilenameHint = CHECK_ORIGINAL_FILENAME_EXISTS_FIRST;
73 using FindFileCallback = std::function<
Path(
const Path& filename,
const Options* options)>;
74 FindFileCallback findFileCallback;
79 bool mapRGBtoRGBAHint =
true;
82 CoordinateConvention sceneCoordinateConvention = CoordinateConvention::Z_UP;
108 template<
typename... Args>
109 bool compatibleExtension(
const vsg::Path& filename,
const vsg::Options* options,
const Args&... args)
111 if (options && options->extensionHint && contains(options->extensionHint, args...))
return true;
112 return contains(vsg::lowerCaseFileExtension(filename), args...);
116 template<
typename... Args>
117 bool compatibleExtension(
const vsg::Options* options,
const Args&... args)
119 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:34
std::map< Path, CoordinateConvention > formatCoordinateConventions
Coordinate convention to assume for specified lower case file formats extensions.
Definition: Options.h:85
FindFileHint
Hint to use when searching for Paths with vsg::findFile(filename, options);.
Definition: Options.h:64
@ CHECK_ORIGINAL_FILENAME_EXISTS_LAST
check the filename exists with its original path before trying to find it in Options::paths.
Definition: Options.h:66
virtual bool readOptions(CommandLine &arguments)
read command line options, assign values to this options object to later use with reading/writing fil...
int compare(const Object &rhs) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...
StateCommands inheritedState
Definition: Options.h:97
std::map< std::string, ref_ptr< ShaderSet > > shaderSets
Definition: Options.h:93