Skip to content
Extracting different feature lines from piecewise linear tensor fields
C++ Python CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cpp
.gitignore
LICENSE
README.md

README.md

Find Tensor Feature Lines in Piecewise Linear Tensor Fields

Implements algorithm for finding different feature lines in piecewise linear tensor fields. Includes degenerate lines, tensor core lines, and parallel eigenvector lines. Based on the work from two of my papers:

Dependencies

Build process

cd tensor-lines/cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install

Components

tensor_lines

Main program. Computes feature lines on a VTK Unstructured grid file. Execute tensor_lines -h for valid command line options. Input file needs to be in VTK legacy format with tensors as point data (arrays with 9 components containing 3x3 tensor in row-major order).

The main algorithm is implemented in src/TensorLines.cc and does not depend on VTK. A VTK filter using the algorithm to find intersections of feature lines with tetrahedral cell faces and connecting them to lines is implemented in src/vtkTensorLines.cc.

generate_tet_dataset

Small tool to generate example datasets of a linear tensor field. Execute generate_tet_dataset -h for usage information. Generates a mesh in tetrahedral form with variable number of subdivision levels. Tensors at the four corners can be specified manually or randomly. Subdivision interpolates linearly between the corners.

generate_grid_dataset

Small tool to generate example datasets of several analytic tensor fields with variable sampling density. Execute generate_grid_dataset -h for usage information. Samples the analytic tensor field on a regular grid and subdivides the cells into tetrahedra.

You can’t perform that action at this time.