Hi. I'm lust starting to study OCC and there are some issues I failed to understand reading documentation on this site.
Is there some class of curves defined by my own parametric equations? With a constructor accepting something like std::function for x(t), y(t) and z(t)? Same question for 2D curves and 2D and 3D surfaces.
Is there a way to create a 3D curve defined by a reference to some non-planar surface and a reference to some 2D curve, so that the 2D curve is drawn in a parametric space of the surface making the 3D curve? I mean, the 2D curve is [u(t), v(t)], the surface is [x(u,v), y(u,v), z(u,v)] and consequently the 3D curve is [x( u(t), v(t) ), y( u(t), v(t) ), z( u(t), v(t) )]. Such an object would be automatically rebuilt when the surface or the 2D curve changes its form. I need it generally to split faces. I saw some hints in the "Shape healing" chapter of the "User Guide" but found no concrete descriptions. How, for example, an edge or a wire is added to a face? It must be done by defining a 2D curve in the face parametric space or by creating an independent 3D edge, then checking if it belongs to the surface with some tolerance value or even projecting the edge to the face. The latter is rather expensive. Even for edges shared by several faces describing edge's curve as a 2D curve on a face surface would make the process faster, wouldn't it? I'm asking because calculation speed is very important for my purposes.
Is it necessary to use OCCT collections? I would be happy to use only C++ STL containers.