Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
developers:tutorial:algedit [2022/07/12 21:09] proxor [Редактирование профиля] |
developers:tutorial:algedit [2022/07/12 21:18] (текущий) proxor [Сглаживание вершины красного профиля] |
||
---|---|---|---|
Строка 161: | Строка 161: | ||
В этом примере мы выберем вершину красного профиля и сгладим её путём удаления существующей вершины и добавления двух новых с заранее рассчитанными уклонами на заданном расстоянии друг от друга. | В этом примере мы выберем вершину красного профиля и сгладим её путём удаления существующей вершины и добавления двух новых с заранее рассчитанными уклонами на заданном расстоянии друг от друга. | ||
- | Аналогично предыдущему примеру, определим активную модель подобъекта. Рамкой укажем область в которой располагается вершина красного профиля с помощью метода GetFrame() класса CadCursors. Полученные значения координат необходимо переконвертировать из координат экрана в координаты профиля. Конвертация осуществляется методом UnProjectBox() класса CadView. Далее определим какая вершина профиля попадает в границы указанных координат. Для этого следует воспользоваться методом Contains() структуры BoundingBox2D и передать в него положение узла красного профиля. | + | Аналогично предыдущему примеру, определим активную модель подобъекта. Рамкой укажем область в которой располагается вершина красного профиля с помощью метода [[developers:references:c558291625f2a11ea83cfbdc854b9f87|GetFrame()]] класса [[developers:references:topomatic.cad.view.hints.cadcursors|CadCursors]]. Полученные значения координат необходимо переконвертировать из координат экрана в координаты профиля. Конвертация осуществляется методом [[developers:references:topomatic.cad.view.cadview.unprojectbox_topomatic.cad.foundation.boundingbox2d|UnProjectBox()]] класса [[developers:references:topomatic.cad.view.cadview|CadView]]. Далее определим какая вершина профиля попадает в границы указанных координат. Для этого следует воспользоваться методом [[developers:references:topomatic.cad.foundation.boundingbox2d.contains_topomatic.cad.foundation.vector2d|Contains()]] структуры [[developers:references:topomatic.cad.foundation.boundingbox2d|BoundingBox2D]] и передать в него положение узла красного профиля. |
Определив необходимую вершину, рассчитаем положение новых вершин и внесём изменения в проектный профиль. | Определив необходимую вершину, рассчитаем положение новых вершин и внесём изменения в проектный профиль. |