C3D Toolkit
Kernel - 112346, Vision - 2.6.2.8
|
Регистратор копируемых объектов. Подробнее...
#include <item_registrator.h>
Открытые члены | |
MbRegDuplicate () | |
Конструктор. | |
virtual | ~MbRegDuplicate () |
Деструктор. | |
virtual bool | IsReg (const MbRefItem *srcItem, MbRefItem *&cpyItem)=0 |
Проверить, зарегистрирована ли копия объекта. Подробнее... | |
virtual void | SetReg (const MbRefItem *srcItem, MbRefItem *cpyItem)=0 |
Зарегистрировать копию объекта. Подробнее... | |
virtual void | Free ()=0 |
Освободить используемую память и удалить себя. | |
Регистратор копируемых объектов.
Регистратор используется для построения корректных копий объектов, содержащих указатели на другие геометрические объекты.
Объект может содержаться указателем в нескольких других объектах, подлежащих копированию. Для предотвращения многократного копирования объекта используется регистратор. Регистратор представляет собой два синхронных массива. В первом массиве лежат указатели скопированных объектов, а во втором массиве лежат указатели их копий.
При копировании объекта с использованием регистратора проверяется наличие копируемого объекта в первом массиве. Если такой объект присутствует, то из второго массива выдаётся указатель на его копию. Если такой объект отсутствует, то он заносится в первый массив, а его созданная копия заносится во второй массив и выдаётся.
Проверить, зарегистрирована ли копия объекта.
Найти зарегистрированную копию объекта.
[in] | srcItem | - Исходный объект. |
[out] | cpyItem | - Зарегистрированная копия объекта. |
Зарегистрировать копию объекта.
Зарегистрировать копию объекта.
[in] | srcItem | - Исходный объект. |
[out] | cpyItem | - Копия объекта. |