2011-04-18 53 views
1

所有,檢測和使用交叉口庫

而且我的帖子here適用限制對象/路徑,

@Phrogz建議我們看看 Kevin Lindsey's library爲我們確定的邊界和應用限制的需求。有沒有人有使用這個庫的經驗?

問題: 在我們的web應用程序中,我們有一個由SVG路徑組成的對象。我們試圖實現拖放此對象內其他對象的功能,並且有限制條件是不能將對象拖放到此SVG對象之外。

在Phrogz的建議下,我們研究了這一點,但都在努力弄清楚如何傳遞對象。我們是否將對象作爲路徑字符串或SVG對象傳遞?

錯誤: 在這個時刻,我們沒有得到任何輸出,甚至不知道如果接受我們經過的對象。

這是一個相當懸而未決的問題,我特別熱衷於聽到個人誰可能知道一兩件關於凱文的圖書館/它是如何工作/功能。

乾杯

+0

或可能凱文林賽可能神奇地出現在自己身上?這是希望... – Kayote 2011-04-18 14:44:06

回答

0

我不知道這將是多麼的高性能。我更多地將這個圖書館寫成了概念證明,並且讓我自己瞭解更高階曲線的交點。話雖如此,我假設你正試圖從庫中實例化Path的實例?如果是這樣,看看從以下實用loadShapes:

https://github.com/thelonious/js-intersections/blob/master/samples/IntersectionUtilities.js

被調用在啓動時的處理,比方說,這個文件:

https://github.com/thelonious/js-intersections/blob/master/samples/intersect_bezier3_rect.svg

請注意,我使用自定義gui:edit屬性標記要處理的項目。這很整齊,但是我很多年前寫了這麼多(8+),我敢肯定,最先進的技術有更好的技術,但我離題了。最主要的是你需要使用類的節點類型實例化每個形狀類型。每次要檢查交叉點時,都需要調用Intersection.intersectShapes(node1,node2)。這將返回一個狀態屬性的對象,它會讓你知道是否有交點或音符。我相信所有這些都可以改進。該代碼由在github對於那些誰願意到餐桌,修復和改善:)

https://github.com/thelonious/js-intersections https://github.com/thelonious/svg-2d

HTH, 凱文