Go to file
Lightweight Cell Library Upstream 282bf6b8c7 lcl 2021-02-08 (6fe1a2d8)
Code extracted from:

    https://gitlab.kitware.com/vtk/lcl.git

at commit 6fe1a2d8983bcd00fe59ee6049a32d24fdc797af (master).
2021-02-08 17:13:10 +01:00
lcl lcl 2020-10-28 (b7fe5404) 2020-10-28 14:21:28 -04:00
LICENSE.md lcl 2019-10-07 (49094fec) 2019-10-07 15:37:55 -04:00
README.md lcl 2021-02-08 (6fe1a2d8) 2021-02-08 17:13:10 +01:00

Lightweight Cell Library

Lightweight Cell Library is a collection of cell types and cell functionality that is designed be used scientific visualization libraries of VTK-m, and VTK.

You can find out more about the design of Lightweight Cell Library in DESIGN.md.

Contributing

There are many ways to contribute to LCL:

Compiler Requirements

  • C++11 Compiler. Lightweight Cell Library has been confirmed to work with the following
    • GCC 5.4+
    • Clang 3.3+
    • XCode 5.0+
    • MSVC 2015+

Example

Below is a simple example of using Lightweight Cell Library to get derivatives and parametric coordinates for different cell types:

#incude <lcl/lcl.h>

std::array<float, 3> pcoords;
auto status = lcl::parametricCenter(lcl::Hexahedron{}, pcoords);

std::vector<std::array<float, 3>> points = { ... };
std::vector<std::array<double, 4>> field = { ... };
std::array<double, 4> derivs[3];
status = lcl::derivative(lcl::Hexahedron{},
                          lcl::makeFieldAccessorNestedSOAConst(points, 3),
                          lcl::makeFieldAccessorNestedSOAConst(field, 4),
                          pcoords,
                          derivs[0],
                          derivs[1],
                          derivs[2]);

License

Lightweight Cell Library is distributed under the OSI-approved BSD 3-clause License. See LICENSE.md for details.