34#include <NDEVR/IOFactory.h>
35#include <NDEVR/FileFormat.h>
49 class LAS_INTERFACE_API LASFactory :
public IOFactory
The equivelent of std::vector but with a bit more control.
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.
Buffer< String > m_generating_software_to_treat_as_scan
Software names whose output is treated as scan data.
bool writeFile(FactoryParameters &file) override
Writes design data to a LAS/LAZ file.
FactoryOptions defaultWriteOptions(const FactoryParameters &file) const override
Gets the default write options for a given file.
static LASFactory * DefaultFactory()
Gets the singleton LASFactory instance.
static FileFormat LAZFormat()
Gets the FileFormat descriptor for LAZ (compressed LAS) files.
static constexpr StringView const FactoryID()
Gets the unique factory identifier string.
void readPoints(Model &station, LASreader *reader, FactoryParameters ¶ms)
Reads point data from a LASreader into a model.
Buffer< UUID > filterModelsToExport(Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const override
Filters models to only include those exportable in the given format.
void clearGeneratingSoftwareToTreatAsScan()
Clears the list of generating software to treat as scan data.
static FileFormat LASFormat()
Gets the FileFormat descriptor for LAS files.
void getSupportedFormats(Buffer< FileFormat > &formats, bool is_read) override
Populates the buffer with supported file formats.
FactoryOptions defaultReadOptions(const FactoryParameters &file) const override
Gets the default read options for a given file.
bool determineExtension(const File &file, String &extension) override
Determines the file extension for the given file.
void setGeneratingSoftwareToTreatAsScan(const Buffer< String > &software)
Sets the list of generating software names that should treat data as scan data.
FactoryFeatures factoryFeatures(const FactoryParameters &file, bool is_import) const override
Gets the feature capabilities of this factory for a given file.
void addGeneratingSoftwareToTreatAsScan(const StringView &software)
Adds a software name to the scan-treatment list.
bool readFile(FactoryParameters &file) override
Reads a LAS/LAZ file into the design.
bool canRead(const FactoryParameters &file) override
Checks whether this factory can read the given file.
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.
The primary namespace for the NDEVR SDK.
A container of input information that is to be filled with output information by an IOFactory.