• S sverchok
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Задачи 148
    • Задачи 148
    • Список
    • Доски
    • Спринты
  • Запросы на слияние 21
    • Запросы на слияние 21
  • CI/CD
    • CI/CD
    • Конвейеры
    • Задания
    • Расписания
  • Развертывания
    • Развертывания
    • Окружения
    • Релизы
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр пакетов
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Инциденты
  • Аналитика
    • Аналитика
    • Поток ценности
    • CI/CD
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Создать новую задачу
  • Задания
  • Коммиты
  • Доски с задачами
Свернуть панель
  • nikitronn
  • sverchok
  • Задачи
  • #3385
Закр.
Открыто
Задача созд. Июл 04, 2020 пользователемnikitronn@nikitronnВладелец

General Curves API mapping

Created by: portnov

In this issue I will try to outline a general API for all types of curves we are going to support.

Legend:

  • 🆕 there is no such method in the base class yet, it has to be introduced to support features provided by one (or several) of backends.
  • 🚧 this method can and must be implemented in the base class by means by other (more basic) methods - there is a not-so-hard to implement numeric algorihtm
  • ❌ this method can not be implemented if the backend library does not support it (or it is too hard to implement it)
  • ❓ probably possible to implement without backend support, requires further investigation

General curves:

SvCurve method Geomdl FreeCAD rhino3dm
evaluate(t) evaluate_single(t) value(t) PointAt(t)
evaluate_array(ts) 🚧 🚧 🚧
:new:: evaluate_even_t(n) 🚧 discretize() 🚧
:new:: evaluate_even_distance(n) 🚧 discretize() 🚧
calc_length 🚧 length() 🚧
tangent(t) tangent() tangent() TangentAt()
tangent_array(ts) 🚧 🚧 🚧
second_derivative(t) derivatives(t,2) derivative2At(t) 🚧
second_derivative_array(ts) 🚧 🚧 🚧
:new:: third_derivative(t) derivatives(t,3) derivative3At(t) 🚧
third_derivative_array(ts) 🚧 🚧 🚧
:new:: derivatives(n, t) derivatives(t,n) 🚧 🚧
derivatives_array(n,ts) 🚧 🚧 🚧
main_normal(t) normal(t) normal(t) 🚧
main_normal_array(ts) 🚧 🚧 🚧
binormal(t) binormal(t) 🚧 🚧
binormal_array(ts) 🚧 🚧 🚧
tangent_normal_binormal_array(ts) 🚧 🚧 🚧
frame_array(ts) 🚧 🚧 🚧
:new:: curvature(t) 🚧 curvature(t) CurvatureAt(t)
curvature_array(ts) 🚧 🚧 🚧
torsion_array(ts) 🚧 🚧 🚧
🆕 intersect_curve ❓ intersectCC() ❓
🆕 intersect_surface 🚧 intersectCS() 🚧
🆕 ortho_project (implemented in sverchok_extra.utils.geom) 🚧 parameter() 🚧
🆕 length_parameter (implemented in sverchok.utils.curve.SvCurveLengthSolver) 🚧 parameterAtDistance() 🚧
🆕 to_nurbs 🚧 (trivial) toNurbs() 🚧 (trivial)
🆕 to_bspline 🚧 (trivial) toBSpline() 🚧 (trivial)
Ответственный
Назначить
Оценка трудозатрат