General Surface API mapping
Created by: portnov
In this issue I will try to outline a general API for all types of surface 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 investigatio
General surfaces:
SvSurface method | Geomdl | FreeCAD | rhino3dm |
---|---|---|---|
evaluate(u,v) | evaluate_single() | value() | PointAt() |
evaluate_array() | |||
normal(u,v) | normal() | normal() | NormalAt() |
normal_array() | |||
|
derivatives() | ||
derivatives_data_array() | |||
|
curvature(u,v, Gauss) | ||
gauss_curvature_array() | |||
|
curvature(u,v, Mean) | ||
mean_curvature_array() | |||
|
curvature(u,v, Min), curvature(u,v, Max) | ||
principal_curvature_values_array() | |||
|
curvature() + curvatureDirections() | ||
principal_curvatures_array() | |||
sverchok_extra.utils.geom ) |
parameter() | ||
|
|
toBSpline() |
|
|
intersectSS() |