TCLB icon indicating copy to clipboard operation
TCLB copied to clipboard

Inconsistency between RunR export and VTK

Open shkodm opened this issue 2 years ago • 1 comments

In VTK export we have , when assigning numerical values for the BOUNDARY export:

for (size_t i=0;i<size;i++) {
	small[i] = (NodeType[i] & it.flag) >> it.shift;
}

So the minimum value would be 0.

Meawhile in cbRunR.cpp we have also for BOUNDARY:

for (size_t i=0;i<size;i++) {
	small[i] = 1 + ((NodeType[i] & it.flag) >> it.shift);
}

So it will start from 1.

This is not a bug I think, just inconsistent behaviour, not sure what to do with this. Occurred to me when passing BOUNDARY values from R to Python and trying to filter by numerical value (which was off by 1, because I was using the value I remember from VTK export).

Not critical, just wanted to document somewhere.

shkodm avatar Dec 17 '23 23:12 shkodm

@shkodm R has indexing from 1, so there is no way around this for the factor representation in R. But I could easily add an additional class to the array, make the r_to_py convertion for it convert it to numpy array of integers and subtract 1.

llaniewski avatar Dec 19 '23 00:12 llaniewski