Создание тела по пользовательским объектам

Функция ImportSolid() предназначена для создания тела по данным, размещённым в контейнере пользовательских объектов ObContainer. Функция формирует импортируемое тело solid на основе набора ob-структур геометрии и топологии и возвращает код завершения операции типа MbeConvResType. Интерфейс функции:

CONV_FUNC( MbeConvResType ) ImportSolid( c3d::SolidSPtr &                    solid,
                                         std::shared_ptr<ObContainer const>  obContainer,
                                         IConvertorProperty3D *              prop,
                                         IProgressIndicator *                indicator = nullptr );

Параметры функции:

solid – импортируемое твердое тело, которое будет создано по данным из контейнера;

obContainer – контейнер пользовательских объектов ObContainer;

prop – указатель на реализацию интерфейса свойств конвертера IConvertorProperty3D;

indicator – указатель на индикатор хода процесса IProgressIndicator (может быть равен nullptr, если отслеживание прогресса не требуется).

Контейнер ObContainer заполняется пользовательскими данными, представленными набором ob-структур для описания геометрии и топологии тела. После заполнения контейнер передаётся в функцию ImportSolid(), которая по исходным данным создаёт твердотельную модель. Функция исправляет некоторые типовые ошибки, характерные для импорта из различных форматов, а также выполняя сшивку и объединение подобных граней; поведение настраивается через IConvertorProperty3D стандартным образом.

При возникновении вопросов или ошибок на стороне пользователя исходные данные можно передать в техническую поддержку в виде отладочного текстового файла, формируемого методом ObContainer::WriteIntoFile().