|
|
|
@ -437,6 +437,8 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
{
|
|
|
|
|
let start = equaln(hole.StartParam, 0) ? 0 : MathUtils.clamp(curveParam.GetParamAtPoint(thisParam.GetPointAtParam(hole.StartParam)), 0, 1);
|
|
|
|
|
let end = equaln(hole.EndParam, 1) ? 1 : MathUtils.clamp(curveParam.GetParamAtPoint(thisParam.GetPointAtParam(hole.EndParam)), 0, 1);
|
|
|
|
|
if (equaln(start, end, 1e-8)) continue;//重复的点造成了绘制错误
|
|
|
|
|
|
|
|
|
|
if (start > end) [start, end] = [end, start];
|
|
|
|
|
start = Math.max(0, start);
|
|
|
|
|
end = Math.min(1, end);
|
|
|
|
@ -496,9 +498,13 @@ export class RoomWallLine extends RoomWallBase
|
|
|
|
|
{
|
|
|
|
|
let start = equaln(hole.StartParam, 0) ? 0 : MathUtils.clamp(curveParam.GetParamAtPoint(thisParam.GetPointAtParam(hole.StartParam)), 0, 1);
|
|
|
|
|
let end = equaln(hole.EndParam, 1) ? 1 : MathUtils.clamp(curveParam.GetParamAtPoint(thisParam.GetPointAtParam(hole.EndParam)), 0, 1);
|
|
|
|
|
if (start === end) continue;
|
|
|
|
|
if (equaln(start, end, 1e-8)) continue;//重复的点造成了绘制错误
|
|
|
|
|
|
|
|
|
|
if (start > end) [start, end] = [end, start];
|
|
|
|
|
start = Math.max(0, start);
|
|
|
|
|
end = Math.min(1, end);
|
|
|
|
|
if (start >= end) continue;
|
|
|
|
|
|
|
|
|
|
let holeTape = new Tape(start, end, hole.Bottom, hole.Top);
|
|
|
|
|
|
|
|
|
|
let newTapes: Tape[] = [];
|
|
|
|
|