Обнаружение и применение ограничений к объектам / путям с использованием библиотеки пересечений - PullRequest
1 голос
/ 18 апреля 2011

Все,

В дополнение к моему посту здесь ,

@ Phrogz предложил нам заглянуть в библиотеку Кевина Линдси для наших потребностей в идентификацииграницы и применение ограничений.У кого-нибудь есть опыт использования этой библиотеки?

ПРОБЛЕМА: В нашем веб-приложении у нас есть объект из путей SVG.Мы пытаемся реализовать функциональность перетаскивания других объектов внутри этого объекта, с необходимыми ограничениями, чтобы объекты не могли быть отброшены за пределы этого объекта SVG.

По рекомендации Phrogz мы изучилиэто, но изо всех сил пытаются понять, как передать объект.Передаем ли мы объекты как строку пути или как объект SVG.

ОШИБКА: В данный момент мы не получаем никакого вывода, даже не уверены, что он принимает объекты, через которые мы проходим.

Это довольно открытый вопрос иМне особенно интересно слышать от людей, которые могут кое-что знать о библиотеке Кевина / о том, как она работает / функционирует.

Приветствия

1 Ответ

0 голосов
/ 19 июля 2011

Я не уверен, насколько это будет полезно для вас. Я написал эту библиотеку скорее для проверки концепции и для обучения пересечениям кривых более высокого порядка. При этом, я полагаю, вы пытаетесь создать экземпляры 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

НТН, Kevin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...