我正在修改我发现的CAD浏览器应用程序,我正在尝试添加一些“添加新细分”'''功能。这意味着用户可以单击预先存在的曲线并在那里添加一个段。
它使用Paper.j s作为画布库。
我找到的应用是:https://github.com/memononen/stylii
这是定义功能的代码片段:
} else if (this.mode == 'insert') {
if (this.hitResult != null) {
var location = this.hitResult.location;
var values = location.curve.getValues();
var isLinear = location.curve.isLinear();
var parts = paper.Curve.subdivide(values, location.parameter);
var left = parts[0];
var right = parts[1];
var x = left[6], y = left[7];
var segment = new Segment(new paper.Point(x, y),
!isLinear && new paper.Point(left[4] - x, left[5] - y),
!isLinear && new paper.Point(right[2] - x, right[3] - y));
var seg = this.hitResult.item.insert(location.index + 1, segment);
if (!isLinear) {
seg.previous.handleOut.set(left[2] - left[0], left[3] - left[1]);
seg.next.handleIn.set(right[4] - right[6], right[5] - right[7]);
}
deselectAllPoints();
seg.selected = true;
this.hitResult = null;
}
似乎当我尝试使用此功能时,我不断发现''未定义细分''在Chrome Canary中,但FF都不起作用。
Stylii使用的Paper版本:v0.9.15
答案 0 :(得分:2)
我应该通过这样的方式在JS文件中预先定义段:
var Base = paper.Base,
Segment = paper.segment;