NDEVR
API Documentation
SH3DFactory.h
1#pragma once
2#include "DLLInfo.h"
3#include "IOFactory/Headers/ModelFactory.h"
4#include "Design/Headers/Model.h"
5#include "Base/Headers/Dictionary.h"
6#include "Base/Headers/String.h"
7#include "Base/Headers/UUID.h"
8namespace NDEVR
9{
10 class File;
11 class Model;
12 class FactoryFeatures;
13 class FactoryOptions;
19 class SWEET_HOME_INTERFACE_API SH3DFactory : public IOFactory
20 {
21 public:
23 SH3DFactory();
26 static SH3DFactory* DefaultFactory();
29 static FileFormat SH3DFormat();
32 static FileFormat DVIFormat();
36 void getSupportedFormats(Buffer<FileFormat>& formats, bool is_read) override;
40 bool canRead(const FactoryParameters& file) override;
44 bool readFile(FactoryParameters& file) override;
48 bool writeFile(FactoryParameters& file) override;
53 bool determineExtension(const File& file, String& extension) override;
59 Buffer<UUID> filterModelsToExport(Buffer<UUID> models_to_check, const DesignObjectLookup* lookup, const FileFormat& export_format) const override;
64 FactoryFeatures factoryFeatures(const FactoryParameters& file, bool is_import) const override;
68 FactoryOptions defaultReadOptions(const FactoryParameters& file) const override;
72 FactoryOptions defaultWriteOptions(const FactoryParameters& file) const override;
75 void setGeneratingSoftwareToTreatAsScan(const Buffer<String>& software);
78 void addGeneratingSoftwareToTreatAsScan(const String& software);
80 void clearGeneratingSoftwareToTreatAsScan();
81 protected:
82 Buffer<String> m_generating_software_to_treat_as_scan;
83 };
84
85
86}
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...
Definition File.h:53
A service that provides Import/Export functionality for a model hierarchy.
Definition IOFactory.h:248
A core class that represents a node on model hierarchy.
Definition Model.h:292
The primary namespace for the NDEVR SDK.