*API экспортных функций > Редактирование графических объектов > Функции редактирования объектов чертежа *
ksClearRegion - Очистить указанную область
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksClearRegion.
Синтаксис:
int ksClearRegion (reference grClear,
reference grRegion,
unsigned char inside);
Входные параметры:
grClear - группа обрабатываемых объектов (0 - просматривать все объекты текущего вида или выделенные, если они есть),
grRegion - группа объектов, задающая область очистки,
inside - место очистки: 0 - снаружи области, ограниченной grRegion, 1 - внутри области.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
Примечание:
При очистке объекты, которые пересекаются с границей области очистки, могут быть усечены или полностью удалены.
В зависимости от типа при усечении объекты изменяются (например, отрезок) или заменяются на новые объекты (например, окружность становится дугой).
Новые объекты, созданные в результате операции очистки, помещаются в группу обрабатываемых объектов.
Если группа временная, то для сохранения новых объектов в документе, для нее нужно выполнить функцию StoreTmpGroup.
ksClearRegion - пример использования
reference gr = NewGroup(0); // группа геометрии, представляющая область очистки
::Circle(0, 0, 40, 1);
EndGroup();
reference gr1 = NewGroup(1); // группа геометрии, которую нужно очистить
::LineSeg(100, 100, -100, -100, 1);
::LineSeg(10, 10, -10, -10, 1);
EndGroup();
// очистка заданной области
::ksClearRegion(gr1/группа которую надо очистить/, gr/область очистки/, 1);
::StoreTmpGroup(gr1); // записываем результат в документ