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
- полилиния разрезана