}
II Запоминание параметров следующей точки myAnchor = myPointB.anchor; myX2 = myAnchor[0] ; myY2 = myAnchor[1];
II myPointC - предыдущая точка на прямой.
II Если myPathPoint - начальная точка прямой, то,
II соответственно, myPointC - последняя точка.
if (myPathPointCounter == 0){
myPointC = myPath.pathPoints[myPath.pathPoints.length - 1];
}
else{
myPointC = myPath.pathPoints[(myPathPointCounter - 1);
}
II Запоминание параметров предыдущей точки myAnchor = myPointC.anchor; myX3 = myAnchor[0]; myY3 = myAnchor[1];
II Получение новых координат
myPoints = myAddPoints(myXl, myYl, myX2, myY2, myX3, myY3, myOffset);
myNewXl = myPoints[0]; myNewYl = myPoints[1]; myNewX2 = myPoints[2] ; myNewY2 = myPoints[3];
II Расчет положения новых точек в зависимости от выбранного II пользователем типа кривой, switch (myCornerType){ case 0:
II Скругление углов
II Сначала - координаты
myPoint = [[myNewX2, myNewY2], [myNewX2, myNewY2],
[myXl, myYl]]; myPointArray.push(myPoint) ;
myPoint = [[myNewXl, myNewYl], [myNewXl, myNewYl], [myNewXl, myNewYl]]; myPointArray.push(myPoint); break; case 1:
II Втянутые утлы
myPoint = [[myNewX2, myNewY2], [myNewX2, myNewY2],
[(myNewX2 + myNewXl - myXl), (myNewY2 + myNewYl - myYl) myPointArray.push(myPoint);
myPoint = [[myNewXl, myNewYl], [myNewXl, myNewYl], [myNewXl, myNewYl]];
myPointArray.push(myPoint); break; case 2:
// Срезанные углы
myPoint = [ [myNewX2, myNewY2], [myNewX2, myNewY2], [myNewX2, myNewY2]]; myPointArray.push(myPoint);
myPoint = [[myNewXl, myNewYl], [myNewXl, myNewYl], [myNewXl, myNewYl]]; myPointArray.push(myPoint); break; case 3:
II Обрезанные углы
myPoint = [[myNewX2, myNewY2], [myNewX2, myNewY2],
[myNewX2, myNewY2]]; myPointArray.push(myPoint); myPoint = [ [ (myNewX2 + myNewXl - myXl),
(myNewY2 + myNewYl - myYl)],[(myNewX2 + myNewXl - myXl),
(myNewY2 + myNewYl - myYl) ], [ (myNewX2 + myNewXl - myXl),
(myNewY2 + myNewYl - myYl)]];
myPointArray.push(myPoint);
myPoint = [[myNewXl, myNewYl], [myNewXl, myNewYl],
[myNewXl, myNewYl]]; myPointArray.push(myPoint) ; break; case 4:
II Оригинальные углы.
II Каждая угловая точка ставится на расстоянии 1/3 // величины смещения, т. е. первая на 1/3,
// вторая 2/3 для каждого угла, var myOneThird = 0.33; var myTwoThirds = 0.67
var myPointZX = myNewX2 + myNewXl - myXl; var myPointZY = myNewY2 .+ myNewYl - myYl; var myTemplX = (myXl - myNewX2) * myTwoThirds;
var myTemplY = (myYl - myNewY2) * myTwoThirds;
var myTemp2X = (myXl - myNewXl) * myTwoThirds;