Go to file
Lightweight Cell Library Upstream e7cf79a933 lcl 2019-10-09 (d7604cbf)
Code extracted from:

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

at commit d7604cbf4a7776a937f6a176e112de0549dd0a91 (master).
2019-10-09 11:05:19 -04:00
lcl lcl 2019-10-09 (d7604cbf) 2019-10-09 11:05:19 -04:00
LICENSE.md lcl 2019-10-07 (49094fec) 2019-10-07 15:37:55 -04:00
README.md lcl 2019-10-07 (49094fec) 2019-10-07 15:37:55 -04: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 4.8+
    • 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.