Label functionality has a bug?

Imagine a cube

int[int] N = [20, 10, 5]; // Nodes per side.
real [int, int] B = [[0.0, 1.0], [0.0, 0.5], [0.0, 0.25]]; // Side lengths.
int [int, int] L = [[1, 2], [3, 4], [5, 6]]; // Labels.
mesh3 Th = Cube(N, B, L);
plot(Th, wait=1, cmm="Mesh");

which results in

However

  for (int i = 0; i < Th.nv; i++){
      if (Th(i).label == 5){
          cout << "    Th(" << i << ") : " << Th(i).x << " " << Th(i).y << " " << Th(i).z << " " << Th(i).label << endl;
        }
    }

produces NO output, as if there are no vertices with label 5. For labels 1–4 there are nodes, but 5–6 act as if there were no vertices with that labels which I find extremely weird.

Is this a bug or am I not getting how this works?

Vertices have no label. Triangles (or edges in 2D) have a label.

1 Like

Ok, that explains … Thanks!