35#include <NDEVR/IOFactory.h>
36#include <NDEVR/File.h>
The equivelent of std::vector but with a bit more control.
void getSupportedFormats(Buffer< FileFormat > &formats, bool is_read) final override
Populates the given buffer with file formats supported by this factory.
static DNBJSONFactory * DefaultFactory()
Retrieves the singleton default instance of DNBJSONFactory.
String getIcon(const File &file) final override
Retrieves the icon resource name associated with the given file.
bool determineExtension(const File &file, String &extension) final override
Determines the appropriate file extension for the given file.
bool readFile(FactoryParameters &file) final override
Reads a DNB JSON file and populates the design model from its contents.
bool canRead(const File &file) final override
Checks whether this factory can read the given file.
FactoryOptions defaultWriteOptions(const FactoryParameters &file) const final override
Retrieves the default write options for the given file.
virtual void getSupportedFormatsByModelType(Buffer< FileFormat > &formats, bool is_read, const StringView &model_type) override
Populates the given buffer with file formats supported for a specific model type.
FactoryOptions defaultReadOptions(const FactoryParameters &file) const final override
Retrieves the default read options for the given file.
DNBJSONFactory()
Constructs a DNBJSONFactory instance.
Buffer< UUID > filterModelsToExport(Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const final override
Filters a set of model UUIDs to determine which should be included in an export.
bool isAutoEnabled() const final override
Indicates whether this factory is automatically enabled for file operations.
bool writeFile(FactoryParameters &) final override
Writes design data to a DNB JSON file.
bool canWrite(const File &file) final override
Checks whether this factory can write to the given file.
FactoryFeatures factoryFeatures(const FactoryParameters &file, bool is_import) const override
Retrieves the feature set supported by this factory for the given file context.
A core class where all Design Objects including models, materials, and geometries are stored.
Allows IOFactories to report what features they support to make the import/export dialogs easier to s...
User-defined options that define preferences for importing and exporting using IOFactory objects.
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
IOFactory(const StringView &factory_name)
Constructs an IOFactory with the given factory name.
Serves as the primary program interface for processes to report issues and allows any number of LogSt...
A core class that represents a node on model hierarchy.
The core String View class for the NDEVR API.
The core String class for the NDEVR API.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
A container of input information that is to be filled with output information by an IOFactory.