mbi
mbi is mb with an index progression in place of the region. The i means the command takes a progression. It does not mean inverse.
Syntax
mbi i_list ; j_list ; k_list ; component value [ value ... ]
A progression is three lists, one for i, one for j and one for k, each ending in ;. Inside a progression a 0 separates unions and never means an extreme. The component and the values are those of mb. The concepts chapter explains progressions.
What it does
mbi offsets the vertices of every region the progression expands to. It is mb for each of those regions, and mb describes the offset. A vertex that lies in more than one of the regions is offset once.
When James applies it
As mb: step 1iii of the hierarchy, in input order within the step. mbi is legal only in the Part phase.
Rules James adds
- A vertex reached by several of the expanded regions takes the offset once, because the regions name a set of vertices.
- A progression that expands to no region warns (E0107) and the command is ignored.
Diagnostics
- E0500: a region the progression expands to lies outside the part.
- E0501:
componentis not one of the seven words. - E0502: the number of values does not fit
component. - E0101: a list holds one positive number, which selects nothing.
- E0103: an interval is written high to low.
- E0107: the progression expands to no region.
Example
The script tests/corpus/168-mbi-two-faces-offset/input.tg, which make test runs:
c mbi moves the first and last i faces in x by one progression.
block 1 3 5;1 3;1 3;0 1 2;0 1;0 1;
mbi -1 0 -3;;;x 0.25
endpart
The progression -1 0 -3;;; pins reduced i 1 and reduced i 3 with a 0 between, and the empty j and k lists span the whole part. James expands it to two faces, 1 1 1 1 2 2 and 3 1 1 3 2 2, and shows both in the IR. The mesh has its first face at x = 0.25 and its last at x = 2.25. The nodes between follow by interpolation.