C3D Kernel  104598
Открытые члены
Структура ItGCBlackbox

Чёрный ящик. Подробнее...

Полный список членов класса

Открытые члены

virtual void CollectMyInGeoms (IFC_Array< ItGeom > &) const =0
 Выдать независимые геометрические объекты.
virtual void CollectMyOutGeoms (IFC_Array< ItGeom > &) const =0
 Выдать зависимые геометрические объекты.
virtual bool Calculate (const SArray< MbPlacement3D > &inPlaces, const ItGeom &depGeom, MbPlacement3D &depPlace) const =0
 Рассчитать положение зависимого объекта.
virtual bool IsMyOutGeom (const ItGeom &) const =0
 Является ли данный объект зависимым для черного ящика?
virtual bool FormulateOutGeom (MtGeomSolver &solver, ItGeomPtr outGeom)
 Сформулировать ограничения для зависимого геометрического объекта.
virtual void FinishBlackBox ()
 Завершить работу с черным ящиком.
virtual refcount_t AddRef () const =0
virtual refcount_t Release () const =0

Подробное описание

Черный ящик реализует закон позиционирования геометрических объектов, зависящих от позиции других объектов. Интерфейс ItGCBlackbox реализуется обычно на стороне клиентского приложения и передается геометрическому решателю для исполнения через метод #MtGeomSolver::AddBlackbox. В Cad-системе KOMPAS-3D черный ящик применяется для моделирования массивов тел (паттерны), которые родились путем многократного копирования оригинала с использованием некоторого закона размножения экземпляров и позиционирования. Черный ящик может применяться не только для организации паттернов, но и для задания на стороне клиентского приложения различных однонаправленных зависимостей, с определенным законом позиционирования тел. Объекты, которые рассматриваются, как входящие для черного ящика, называются независимыми. Объекты, которые рассматриваются, как исходящие для черного ящика, называются зависимыми.


Методы

virtual bool ItGCBlackbox::Calculate ( const SArray< MbPlacement3D > &  inPlaces,
const ItGeom depGeom,
MbPlacement3D depPlace 
) const [pure virtual]
Аргументы:
[in]inPlaces- Позиции независимых объектов, получаемых методом ItGCBlackbox::CollectMyInGeoms.
[in]depGeom- Зависимый геометрический объект.
[out]depPlace- Вычисленное положение для объекта outGeom.
Возвращает:
true, если функция корректно исполнена.
bool ItGCBlackbox::FormulateOutGeom ( MtGeomSolver solver,
ItGeomPtr  outGeom 
) [inline, virtual]

Функция позволяет задать положение зависимого объекта относительно управляющих в явном виде с помощью интерфейса MtGeomSolver (MtGeomSolver::AddConstraint, MtGeomSolver::AddConstraintItem, #MtGeomSolver::AddPattren). Данный механизм является альтернативой вызову #ItGCBlackbox::Calculatе. Его использование сообщает решателю не только о наличии зависимости (как в случае с #ItGCBlackbox::Calculatе), но и о ее характере. Данное знание позволяет расширить класс разрешимых задач, но в некоторых случаях может привести к ухудшению производительности. Система ограничений.

Аргументы:
[in]outGeom- Зависимый геометрический объект.
Возвращает:
Должна возвращать true, если положение зависимого объекта было задано в явном виде через задание в решателе нужных для этого ограничений; если же положение зависимого объекта должно вычисляться с помощью метода ItGCBlackbox::Calculate, функция должна возвращать false.
virtual void ItGCBlackbox::FinishBlackBox ( ) [inline, virtual]

Функция предоставляет возможность пользователю данного интерфейса корректно завершить работу с черным ящиком в тот момент, когда он удаляется в решателе.


Объявления и описания членов структуры находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы