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

  • ilin writes 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

  • E0500: a reduced index lies outside the part.
  • E0106: a minimum is larger than its maximum.

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.

See also


James 0.3.1.

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