C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Регистратор копируемых объектов. Подробнее...

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

 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
 Освободить используемую память и удалить себя.
 

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

Регистратор копируемых объектов.

Регистратор используется для построения корректных копий объектов, содержащих указатели на другие геометрические объекты.
Объект может содержаться указателем в нескольких других объектах, подлежащих копированию. Для предотвращения многократного копирования объекта используется регистратор. Регистратор представляет собой два синхронных массива. В первом массиве лежат указатели скопированных объектов, а во втором массиве лежат указатели их копий.
При копировании объекта с использованием регистратора проверяется наличие копируемого объекта в первом массиве. Если такой объект присутствует, то из второго массива выдаётся указатель на его копию. Если такой объект отсутствует, то он заносится в первый массив, а его созданная копия заносится во второй массив и выдаётся.

Методы

◆ IsReg()

virtual bool MbRegDuplicate::IsReg ( const MbRefItem srcItem,
MbRefItem *&  cpyItem 
)
pure virtual

Проверить, зарегистрирована ли копия объекта.

Найти зарегистрированную копию объекта.

Аргументы
[in]srcItem- Исходный объект.
[out]cpyItem- Зарегистрированная копия объекта.
Возвращает
Возращает true, если копия объекта уже зарегистрирована.

◆ SetReg()

virtual void MbRegDuplicate::SetReg ( const MbRefItem srcItem,
MbRefItem cpyItem 
)
pure virtual

Зарегистрировать копию объекта.

Зарегистрировать копию объекта.

Аргументы
[in]srcItem- Исходный объект.
[out]cpyItem- Копия объекта.

Объявления и описания членов класса находятся в файле: