/transfinite

A library for evaluating transfinite surfaces.

Primary LanguageC++

Transfinite library

A library for evaluating transfinite surfaces.

Basic geometry is provided by the libgeom library (included as a submodule).

Currently the following transfinite surfaces are supported:

Some control point based surfaces are also contained in the library:

There are also a couple of discrete surfaces:

... and also some experimental representations.

Usage example is provided in src/test/test.cc, but it follows the pattern

    CurveVector curves; // std::vector of (shared pointers to) B-spline curves
    // fill curves ...
    SurfaceMidpointCoons surf;
    surf.setCurves(curves);
    surf.setupLoop();
    surf.update();
    auto p = surf.eval({0.1, 0.3}); // evaluates the surface at a given (2D) domain point
    auto mesh = surf.eval(30);
    // mesh is a triangle mesh with 30 triangles on each sides