Вспомогательные методы конвертеров

Для получения сведений о поддерживаемых форматах и загруженных плагинах C3D Converter предусмотрен ряд вспомогательных методов.

Получение списка поддерживаемых форматов

Получить список поддерживаемых форматов можно как через интерфейс IConverter3D, так и с помощью отдельной API-функции. Список включает как обменные форматы, доступные по стандартной лицензии [cnv], так и форматы, подключаемые через плагины.

Через интерфейс IConverter3D для этого предназначены методы:

virtual std::vector<c3d::FormatInfo> GetSupportedImportFormats();
virtual std::vector<c3d::FormatInfo> GetSupportedImportForeignFormats();

Метод GetSupportedImportFormats() возвращает список поддерживаемых форматов с учётом лицензионного ключа и наличия формат-специфичных библиотек конвертера. Если какой-либо плагин не поддерживает получение списка форматов, то его форматы не будут включены в результат.

Метод GetSupportedImportForeignFormats() возвращает список форматов, поддерживаемых для импорта через ImportForeign(). Список будет пустым, если метод LoadForeignReader() не вызывался или завершился неуспешно. Если какой-либо плагин не поддерживает получение списка форматов, то его форматы не будут включены в результат.

Для получения списка поддерживаемых форматов также предусмотрена отдельная API-функция:

CONV_FUNC( std::vector<FormatInfo> ) GetSupportedFormats();

Функция GetSupportedFormats() возвращает список поддерживаемых форматов с учётом лицензионного ключа и наличия формат-специфичных библиотек конвертера. Если какой-либо плагин не поддерживает получение списка форматов, то его форматы не будут включены в результат.

Структура FormatInfo содержит краткие сведения о формате: его название и список поддерживаемых расширений файлов.

Получение сведений о загруженных плагинах

Для получения сведений о загруженных и активированных плагинах используется функция:

CONV_FUNC( std::vector<PluginVersionInfo> ) GetLoadedPluginsVersions();

Функция GetLoadedPluginsVersions() возвращает версии загруженных плагинов. Значение версии определяется реализацией конкретного плагина. Если плагин не сообщает свою версию, то вместо неё используется строка «n/a».

Структура PluginVersionInfo содержит полный путь к плагину и версию плагина.

Версии плагинов различаются для разных форматов. Для механических форматов (catia, creo, nx, sw, se) и ifc используется единая версия плагина, например 22.0.29.0. Партнёрские плагины строительных форматов (nwd, rvt, rvm, sp) имеют собственные схемы нумерации версий, например 1.4.0.0, поскольку развивались независимо.