TMapObjectStructure.CutByPoint

Модуль: MapObject
Класс: TMapObjectStructure

Разрезать линейный объект точкой

Объявление

function CutByPoint(x,y: double; Delta: double;
	 addMOS: TMapObjectStructure = nil; aStumpMinLength: double = -1;
	 soIndex: integer = -1; OffsetUp: double = 0; OffsetDown: double = 0;
	 BorderMOS: TMapObjectStructure = nil; BorderHalfSize: double = 0;
	 flTunnelBorderTargetOrientation: boolean = true;
	 TargetLineUpPtr: pDoublePoint = nil;
	 TargetLineDownPtr: pDoublePoint = nil): integer;

Параметры

x
координата точки разрезания по горизонтали
y
координата точки разрезания по вертикали
Delta
допустимая погрешность сравнения координат обычно соответствует погрешности слоя
addMOS
объект, в который положить отзезанную часть
aStumpMinLength
минимальная длина разрезаемых кусков
soIndex
индекс подобъекта (если < 0, то ищется ближайший подобъект)
OffsetUp
отступ от точки разрезания к начальной точке
OffsetDown
отступ от точки разрезания к конечной точке
BorderMOS
линейный отрезка, вставляемый в месте разреза (может быть (Nil))
BorderHalfSize
половина длины вставляемого линейного отрезка в месте разреза
flTunnelBorderTargetOrientation
ориентация вставляемого линейного отрезка относительно заданного отрезка
TargetLineUpPtr
указатель на первую точку заданного отрезка для ориентации вставляемого линейного отрезка
TargetLineDownPtr
указатель на вторую точку заданного отрезка для ориентации вставляемого линейного отрезка

Возвращает

-4
объект не является полилинией
-3
ближайшая точка на полилинии не найдена
-2
длина первой полилинии после разрезания меньше допустимой
-1
длина второ1 полилинии после разрезания меньше допустимой
0
полилиния разрезана