Вспомогательные методы конвертеров
Для получения сведений о поддерживаемых форматах и загруженных плагинах 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, поскольку развивались независимо.