tfi
tfi is tf with an index progression in place of the region. The i means the command takes a progression. It does not mean inverse.
Syntax
tfi 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. The concepts chapter explains progressions.
What it does
James expands the progression into regions and applies tf to each one. tf describes the interpolation.
When James applies it
As tf: step 10 for each face region and step 16 for each block region the progression expands to. tfi is legal only in the Part phase.
Rules James adds
- A region that the progression expands to and that is an edge or a vertex is an error (E0701).
- A progression that expands to no region warns (E0107) and the command is ignored.
Diagnostics
- E0701: a region the progression expands to is an edge or a 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/180-tfi-face-progression/input.tg, which make test runs:
c tfi over the two k faces of a part of two blocks
block 1 3 5;1 3;1 3;0 1 2;0 1;0 1;
pb 2 2 1 2 2 1 xy 1.2 1.1
tfi ;;-1 -2;
endpart
The progression ;;-1 -2; pins k to 1 and 2 and leaves i and j empty. James expands it to the two faces 1 1 1 3 2 1 and 1 1 2 3 2 2, and stores each for step 10. pb moves the vertex 2 2 1 to x = 1.2, y = 1.1. The tfi moves the interior nodes of both faces a little: node 7 goes from (0.55, 0.525, 0) to (0.54996, 0.52293, 0).