Они вызывают, входят в следующий порядок с глубокими клонируемыми функциями:
1 beginDeepClone () Этот запрос послан, как только образец адресата АкДбДатабас был создан, но это находится в “необработанном” состоянии и не готово к добавлению в конец.
2 beginWblock () новая база данных теперь имеет ее основные элементы, типа таблицы метки, класс карта ID, и записи таблицы блоков пространства листа и пространство модели. Это все еще пусто. Клонирование не началось, но новая база данных теперь готова к добавлению в конец.
3 otherWblock () и beginDeepCloneXlation () Эти два вызывает, сделаны противовключенным и может использоваться для той же самой цели. Первичный набор объектов был клонирован, но трансляция ссылки не началась все же.
4 endDeepClone () процесс трансляции теперь закончил, но примитивы - еще не в их конечном состоянии.
5 endWblock () примитивы теперь были преобразованы, и пространство модели, и начала координат пространства листа были установлены. Новая база данных полна, но еще не была сохранена.
Имеются три типа AcEditorReactor:: beginWblock (). Они перечислены здесь наряду с их соответствующими функциями AcDbDatabase:
1 WBLOCK*
void
AcEditorReactor:: beginWblock (
AcDbDatabase* pTo,
AcDbDatabase* pFrom)
Acad:: ErrorStatus
AcDbDatabase::wblock(AcDbDatabase*& POutputDatabase)
2 WBLOCK определяемого пользователем блока
void
AcEditorReactor:: beginWblock (
AcDbDatabase* pTo,
AcDbDatabase* pFrom,
AcDbObjectId blockId)
Acad:: ErrorStatus
AcDbDatabase:: wblock (
AcDbDatabase*& POutputDatabase,
AcDbObjectId nObjId)
3 WBLOCK набора выборов
void
AcEditorReactor:: beginWblock (
AcDbDatabase* pTo,
AcDbDatabase* pFrom,
const AcGePoint3d& InsertionPoint)
Acad:: ErrorStatus
AcDbDatabase:: wblock (
AcDbDatabase*& POutputDatabase,
const AcDbObjectIdArray& PIdSet,
const AcGePoint3d& PPoint3d)