34#include <NDEVR/SoftwareService.h>
35#include <NDEVR/FactoryOptions.h>
36#include <NDEVR/Model.h>
37#include <NDEVR/File.h>
38#include <NDEVR/FileFormat.h>
44 class DesignObjectLookup;
45 class FactoryFeatures;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A core class where all Design Objects including models, materials, and geometries are stored....
Definition DesignObjectLookup.h:65
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Allows IOFactories to report what features they support to make the import/export dialogs easier to s...
Definition FactoryFeatures.h:44
User-defined options that define preferences for importing and exporting using IOFactory objects.
Definition FactoryOptions.h:49
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
A service that provides Import/Export functionality for a model heirarchy. These can be registered wi...
Definition IOFactory.h:117
String factoryReadAppFeature() const
static void EnableFactory(IOFactory *factory, const String &read_password, const String &write_password)
virtual String getIcon(const File &file)
virtual bool canWrite(const File &file)
String factoryWriteAppFeature() const
virtual bool canWrite(const FactoryParameters &file)
virtual FactoryFeatures factoryFeatures(const FactoryParameters &file, bool is_import) const =0
virtual bool canWrite(const FileFormat &file)
virtual bool determineExtension(const File &file, String &extension)
virtual FactoryOptions defaultReadOptions(const FactoryParameters &file) const
virtual void getSupportedFormatsForExtension(Buffer< FileFormat > &formats, bool is_read, const String &extension)
void throwIfNotEnabled(bool is_read)
virtual bool canRead(const File &file)
static void EnableFactory(const String &factory, const String &read_password, const String &write_password)
virtual FactoryOptions defaultWriteOptions(const FactoryParameters &file) const
virtual void getSupportedFormats(Buffer< FileFormat > &formats, DesignObjectLookup *lookup, const Buffer< UUID > &models)
virtual bool isAutoEnabled() const
virtual void getSupportedFormatsByModelType(Buffer< FileFormat > &formats, bool is_read, const String &model_type)
Buffer< Scene > readScenesFromFile(const File &file)
virtual bool canRead(const FileFormat &file)
const String & name() const
Definition IOFactory.h:121
bool writeScenesToFile(const File &file, const Buffer< Scene > &scene)
virtual bool updateFromFile(const FactoryParameters &file, const FactoryOptions &old_options)
virtual void getSupportedFormats(Buffer< FileFormat > &formats, bool is_read)=0
virtual bool canRead(const FactoryParameters &file)
void getSupportedFormats(Buffer< FileFormat > &formats)
bool readFileWithDefaultSettings(const File &file, DesignObjectLookup *lookup)
virtual bool isFactoryEnabled(bool is_read) const
static void EnableExtension(const String &extension, const String &read_password, const String &write_password)
virtual void getSupportedFormats(Buffer< FileFormat > &formats, const File &file)
virtual Buffer< UUID > filterModelsToExport(Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const
IOFactory(const String &factory_name)
The core logic for importing and exporting files from the model heirarchy. Stores a series of IOFacto...
Definition ModelFactory.h:45
A core class that represents a node on model heirarchy. This node may contain a Geometry or one or mo...
Definition Model.h:58
A light-weight base class for Log that allows processes to update, without the need for additional in...
Definition ProgressInfo.hpp:48
Software Services provide an interface for adding to or changing the software behavior via functional...
Definition SoftwareService.h:9
The core String class for the NDEVR API.
Definition String.h:69
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Definition TranslatedString.h:13
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233
A container of input information that is to be filled with output information by an IOFactory.
Definition IOFactory.h:61
Buffer< UUID > models
Definition IOFactory.h:95
const File & file(const String &name="default") const
The address for reading/writing. If factory supports more than one file (eg: .obj and ....
bool shouldWriteModel(const Model &model) const
Checks to see if a given model is on the list.
FactoryParameters(const FileRequest &request, const String &name="default")
const FileFormat & format(const String &name="default") const
The format to read/write. If factory supports more than one format (eg: .obj and ....
void addWarning(const FileFactoryWarning &warning)
Adds a warning that will be shown to the user when the IOFactory operation is completed.
FactoryParameters(const File &file, const FileFormat &format, const String &name="default")
FileFormat & format(const String &name="default")
The format to read/write. If factory supports more than one format (eg: .obj and ....
FactoryOptions options
Definition IOFactory.h:93
Dictionary< String, FileRequest > requests
Definition IOFactory.h:92
Buffer< FileFactoryWarning > warnings
Definition IOFactory.h:94
Buffer< UUID > cameras
Definition IOFactory.h:96
Allows the software to display a warning to the end user about a problem encountered during an IOFact...
Definition IOFactory.h:51
TranslatedString message
Definition IOFactory.h:55
FileFactoryWarning(const TranslatedString &title, const TranslatedString &message)
FileFactoryWarning(const TranslatedString &title, const File &file, uint04 line_number=Constant< uint04 >::Invalid)
TranslatedString title
Definition IOFactory.h:54
A FileRequest bundles format data as well as a particular file.
Definition FileFormat.h:75