NDEVR
API Documentation

Reads and writes KML/KMZ geographic markup files using the IOFactory interface. More...

Inheritance diagram for KMLFactory:
[legend]
Collaboration diagram for KMLFactory:
[legend]

Public Member Functions

 KMLFactory ()
 Constructs the KMLFactory.
bool canRead (const FactoryParameters &file) override
 Checks whether the given parameters describe a readable KML file.
FactoryOptions defaultReadOptions (const FactoryParameters &file) const override
 Returns the default read options for KML files.
FactoryOptions defaultWriteOptions (const FactoryParameters &file) const override
 Returns the default write options for KML files.
FactoryFeatures factoryFeatures (const FactoryParameters &file, bool is_import) const override
 Returns the supported factory features for the given file.
Buffer< UUIDfilterModelsToExport (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const override
 Filters the list of models to only those exportable in KML format.
void getSupportedFormats (Buffer< FileFormat > &formats, bool is_read) override
 Populates the list of supported KML file formats.
bool readFile (FactoryParameters &file) override
 Reads a KML/KMZ file into the design model.
bool writeFile (FactoryParameters &file) override
 Writes design data to a KML/KMZ file.
Public Member Functions inherited from IOFactory
 IOFactory (const StringView &factory_name)
 Constructs an IOFactory with the given factory name.
virtual ~IOFactory ()
 Virtual destructor.
virtual bool canRead (const File &file)
 Checks whether this factory can read the given file.
virtual bool canRead (const FileFormat &file)
 Checks whether this factory can read the given file format.
virtual bool canWrite (const FactoryParameters &file)
 Checks whether this factory can write using the given FactoryParameters.
virtual bool canWrite (const File &file)
 Checks whether this factory can write the given file.
virtual bool canWrite (const FileFormat &file)
 Checks whether this factory can write the given file format.
virtual bool determineExtension (const File &file, String &extension)
 Attempts to determine the file extension for the given file.
String factoryReadAppFeature () const
 Returns the application feature string required for read operations.
String factoryWriteAppFeature () const
 Returns the application feature string required for write operations.
virtual String getIcon (const File &file)
 Returns the icon name associated with the given file type.
void getSupportedFormats (Buffer< FileFormat > &formats)
 Populates the given buffer with all supported file formats (both read and write).
virtual void getSupportedFormats (Buffer< FileFormat > &formats, const File &file)
 Populates the given buffer with formats supported for the specified file.
virtual void getSupportedFormats (Buffer< FileFormat > &formats, DesignObjectLookup *lookup, const Buffer< UUID > &models)
 Populates the given buffer with formats supported for writing the specified models.
virtual void getSupportedFormatsByModelType (Buffer< FileFormat > &formats, bool is_read, const StringView &model_type)
 Populates the given buffer with formats matching a specific model type.
virtual void getSupportedFormatsForExtension (Buffer< FileFormat > &formats, bool is_read, const StringView &extension)
 Populates the given buffer with formats matching a specific file extension.
virtual bool isAutoEnabled () const
 Checks whether this factory is automatically enabled without requiring a password.
virtual bool isFactoryEnabled (bool is_read) const
 Checks whether this factory is enabled for reading or writing.
const Stringname () const
 Returns the name of this factory.
Buffer< UUIDreadFileWithDefaultSettings (const File &file, DesignObjectLookup *lookup)
 Reads a file using default settings and returns the UUIDs of the created models.
Buffer< ScenereadScenesFromFile (const File &file)
 Reads scenes from a file and returns them as a buffer of Scene objects.
void throwIfNotEnabled (bool is_read)
 Throws an exception if the factory is not enabled for the given operation direction.
virtual bool updateFromFile (const FactoryParameters &file, const FactoryOptions &old_options)
 Updates the factory parameters from a file, comparing against old options.
bool writeScenesToFile (const File &file, const Buffer< Scene > &scene)
 Writes a buffer of scenes to a file.

Static Public Member Functions

static constexpr StringView CustomOptionsLabel ()
 Returns the custom options group label key.
static constexpr StringView PlaceAllOnGround ()
 Returns the custom option key for placing all objects on ground level.
Static Public Member Functions inherited from IOFactory
static void EnableExtension (const StringView &extension, const StringView &read_password, const StringView &write_password)
 Enables a specific file extension with the given read and write passwords.
static void EnableFactory (const StringView &factory, const StringView &read_password, const StringView &write_password)
 Enables a factory by name with the given read and write passwords.
static void EnableFactory (IOFactory *factory, const StringView &read_password, const StringView &write_password)
 Registers an IOFactory instance with the system, enabling it for read and/or write.

Detailed Description

Reads and writes KML/KMZ geographic markup files using the IOFactory interface.


Definition at line 49 of file KMLFactory.h.

Member Function Documentation

◆ canRead()

bool KMLFactory::canRead ( const FactoryParameters & file)
overridevirtual

Checks whether the given parameters describe a readable KML file.

Parameters
[in]fileThe factory parameters.
Returns
True if readable.

Reimplemented from IOFactory.

◆ CustomOptionsLabel()

constexpr StringView KMLFactory::CustomOptionsLabel ( )
inlinestaticconstexpr

Returns the custom options group label key.

Returns
The options label string.

Definition at line 92 of file KMLFactory.h.

◆ defaultReadOptions()

FactoryOptions KMLFactory::defaultReadOptions ( const FactoryParameters & file) const
overridevirtual

Returns the default read options for KML files.

Parameters
[in]fileThe factory parameters.
Returns
The default FactoryOptions for reading.

Reimplemented from IOFactory.

◆ defaultWriteOptions()

FactoryOptions KMLFactory::defaultWriteOptions ( const FactoryParameters & file) const
overridevirtual

Returns the default write options for KML files.

Parameters
[in]fileThe factory parameters.
Returns
The default FactoryOptions for writing.

Reimplemented from IOFactory.

◆ factoryFeatures()

FactoryFeatures KMLFactory::factoryFeatures ( const FactoryParameters & file,
bool is_import ) const
overridevirtual

Returns the supported factory features for the given file.

Parameters
[in]fileThe factory parameters.
[in]is_importWhether features are for importing.
Returns
The FactoryFeatures descriptor.

Implements IOFactory.

◆ filterModelsToExport()

Buffer< UUID > KMLFactory::filterModelsToExport ( Buffer< UUID > models_to_check,
const DesignObjectLookup * lookup,
const FileFormat & export_format ) const
overridevirtual

Filters the list of models to only those exportable in KML format.

Parameters
[in]models_to_checkThe candidate model UUIDs.
[in]lookupThe design object lookup.
[in]export_formatThe target export format.
Returns
The filtered list of exportable model UUIDs.

Reimplemented from IOFactory.

◆ getSupportedFormats()

void KMLFactory::getSupportedFormats ( Buffer< FileFormat > & formats,
bool is_read )
overridevirtual

Populates the list of supported KML file formats.

Parameters
[in]formatsThe buffer to populate.
[in]is_readWhether to list read formats (true) or write formats (false).

Implements IOFactory.

◆ PlaceAllOnGround()

constexpr StringView KMLFactory::PlaceAllOnGround ( )
inlinestaticconstexpr

Returns the custom option key for placing all objects on ground level.

Returns
The option key string.

Definition at line 95 of file KMLFactory.h.

◆ readFile()

bool KMLFactory::readFile ( FactoryParameters & file)
overridevirtual

Reads a KML/KMZ file into the design model.

Parameters
[in]fileThe factory parameters.
Returns
True on success.

Implements IOFactory.

◆ writeFile()

bool KMLFactory::writeFile ( FactoryParameters & file)
overridevirtual

Writes design data to a KML/KMZ file.

Parameters
[in]fileThe factory parameters.
Returns
True on success.

Implements IOFactory.


The documentation for this class was generated from the following file: