lini

lini is lin with an index progression in place of the region. The i means the command takes a progression. It does not mean inverse.

Syntax

lini i_list ; j_list ; k_list ;

A progression is three lists, one for i, one for j and one for k, each ending in ;. An empty list means the whole range. Inside a progression a 0 separates unions and never means an extreme. A single negative number pins that index. The concepts chapter explains progressions.

What it does

James expands the progression into regions and applies lin to each one. lin describes the interpolation and what it leaves alone.

When James applies it

As lin: step 4, 7 or 14 for each region the progression expands to, chosen by that region’s shape. One progression can therefore place its members at different steps. lini is legal only in the Part phase.

Rules James adds

  • A progression that expands to no region warns (E0107) and the command is ignored.
  • A region that the progression expands to and that is a single vertex is an error (E0700), as with lin.

Diagnostics

  • E0700: a region the progression expands to is a single vertex.
  • E0101: a list holds one positive number, which selects nothing.
  • E0102: a reduced index lies outside the part.
  • E0103: an interval is written high to low.
  • E0107: the progression expands to no region.

Example

The script tests/corpus/179-lini-edge-progression/input.tg, which make test runs:

c lini over two edges that each span two blocks
block 1 3 5;1 3;1 3;0 1 2;0 1;0 1;
pb 2 1 1 2 1 1 y 0.2
lini ;-1 -2;-1;
endpart

The progression ;-1 -2;-1; pins j to 1 and 2 and k to 1, and leaves i empty. James expands it to two edges, 1 1 1 3 1 1 and 1 2 1 3 2 1, and stores each for step 4. pb lifted the middle vertex of the first edge to y = 0.2. The lini recomputes that vertex from the end vertices: with it, nodes 2, 3 and 4 of the first edge return to y = 0, and without it they stay at y = 0.1, 0.2 and 0.1.

See also

  • lin: the base command.
  • tfi: the transfinite command with a progression.
  • Concepts: progressions and the i suffix.

James 0.3.1.

This site uses Just the Docs, a documentation theme for Jekyll.