ilin
ilin places the interior vertices of a region by interpolating from the region’s boundary vertices.
Syntax
ilin imin jmin kmin imax jmax kmax
The six arguments are a region of reduced indices. A 0 in a minimum means the first reduced index of its direction and a 0 in a maximum the last. The region may be an edge, a face or a block. The concepts chapter explains regions.
What it does
ilin sets every vertex inside the region from the vertices on its boundary. On an edge it interpolates along the chord between the two end vertices. On a face it blends the four edges with the bilinear formula. On a block it does the same in three directions. The result is written to the vertices and constrains nothing: a later command may move them.
When James applies it
Step 1iii of the hierarchy, in input order within the step. A pb that comes later in the script, on a vertex that ilin set, wins. ilin is legal only in the Part phase.
Rules James adds
ilinwrites positions and holds nothing. It is a starting position that later steps may project away.- James interpolates between vertices. The weights come from the full indices, the node counts between vertices, not from distances in space.
Diagnostics
Example
The script tests/corpus/171-ilin-face-region/input.tg, which make test runs:
c pb lifts one boundary vertex; ilin pulls the face interior toward it.
block 1 3 5;1 3 5;1 2;0 1 2;0 1 2;0 1;
pb 2 1 1 2 1 1 z 0.4
ilin 1 1 1 3 3 1
endpart
The pb lifts the middle vertex of one edge of the k = 1 face by 0.4. The region 1 1 1 3 3 1 is that face. ilin sets the one interior vertex from the face’s boundary, and it rises to z = 0.2. Without the ilin the interior vertex stays at z = 0.