XTK レッスン 12 の js の L15 で述べたように、いくつかのスカラーを追加することができました。
var mesh = new X.mesh();
mesh.file = 'mesh.vtk';
renderer.onShowtime = function () {
var scalarsArray = new Float32Array(mesh.points.length);
// fill array...
mesh.scalars.array = scalarsArray ;
mesh.scalars.lowerThreshold = min;
mesh.scalars.upperThreshold = max;
}
scalars 配列には、ポイントに一致する値の 3 倍が格納されます ( parserCRV.js#L213を参照)。
メッシュがレンダリングされるときにスカラーの最小/最大が再計算されないように見えるので、X\visualization\renderer3D.js のL1152に次のコードを追加しました。
var scalarsMin = Infinity;
var scalarsMax = -Infinity;
var value = 0;
for ( var i = 0; i < scalarsArray.length; ++i ) {
value = scalarsArray[i];
if ( !isNaN(value) ) {
scalarsMin = Math.min(scalarsMin, value);
scalarsMax = Math.max(scalarsMax, value);
}
}
scalars._min = scalarsMin;
scalars._max = scalarsMax;
よくわからないのですが、どなたか確認していただけないでしょうか?