@kitware/vtk.js 29.7.2 → 29.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/IO/Core/HttpDataSetReader.js +4 -2
- package/Rendering/OpenGL/Framebuffer.js +2 -6
- package/Rendering/OpenGL/HardwareSelector.js +1 -1
- package/Rendering/OpenGL/RenderWindow.js +2 -4
- package/Rendering/OpenGL/SurfaceLIC/LineIntegralConvolution2D.js +2 -1
- package/Rendering/OpenGL/VolumeMapper.js +1 -1
- package/package.json +1 -1
|
@@ -185,8 +185,10 @@ function vtkHttpDataSetReader(publicAPI, model) {
|
|
|
185
185
|
// cacheArrays[arrayId] can be a promise or value
|
|
186
186
|
Promise.resolve(cachedArraysAndPromises[arrayId]).then(cachedArray => {
|
|
187
187
|
if (array !== cachedArray) {
|
|
188
|
-
// Update last access for cache retention rules
|
|
189
|
-
|
|
188
|
+
// Update last access for cache retention rules (if caching is enabled)
|
|
189
|
+
if (model.maxCacheSize) {
|
|
190
|
+
cachedArraysMetaData[arrayId].lastAccess = new Date();
|
|
191
|
+
}
|
|
190
192
|
|
|
191
193
|
// Assign cached array as result
|
|
192
194
|
Object.assign(array, cachedArray);
|
|
@@ -148,12 +148,8 @@ function vtkFramebuffer(publicAPI, model) {
|
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
publicAPI.getSize = () => {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
size[0] = model.glFramebuffer.width;
|
|
154
|
-
size[1] = model.glFramebuffer.height;
|
|
155
|
-
}
|
|
156
|
-
return size;
|
|
151
|
+
if (model.glFramebuffer == null) return null;
|
|
152
|
+
return [model.glFramebuffer.width, model.glFramebuffer.height];
|
|
157
153
|
};
|
|
158
154
|
publicAPI.populateFramebuffer = () => {
|
|
159
155
|
if (!model.context) {
|
|
@@ -241,7 +241,7 @@ function vtkOpenGLHardwareSelector(publicAPI, model) {
|
|
|
241
241
|
model.framebuffer.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
242
242
|
model.framebuffer.saveCurrentBindingsAndBuffers();
|
|
243
243
|
const fbSize = model.framebuffer.getSize();
|
|
244
|
-
if (fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
|
|
244
|
+
if (!fbSize || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
|
|
245
245
|
model.framebuffer.create(size[0], size[1]);
|
|
246
246
|
// this calls model.framebuffer.bind()
|
|
247
247
|
model.framebuffer.populateFramebuffer();
|
|
@@ -184,10 +184,8 @@ function vtkOpenGLRenderWindow(publicAPI, model) {
|
|
|
184
184
|
return model.containerSize || model.size;
|
|
185
185
|
};
|
|
186
186
|
publicAPI.getFramebufferSize = () => {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
return model.size;
|
|
187
|
+
const fbSize = model.activeFramebuffer?.getSize();
|
|
188
|
+
return fbSize || model.size;
|
|
191
189
|
};
|
|
192
190
|
publicAPI.getPixelData = (x1, y1, x2, y2) => {
|
|
193
191
|
const pixels = new Uint8Array((x2 - x1 + 1) * (y2 - y1 + 1) * 4);
|
|
@@ -133,7 +133,8 @@ function vtkLineIntegralConvolution2D(publicAPI, model) {
|
|
|
133
133
|
}
|
|
134
134
|
const gl = model.context;
|
|
135
135
|
let fb = model.framebuffer;
|
|
136
|
-
|
|
136
|
+
const fbSize = fb.getSize();
|
|
137
|
+
if (!fb || !fbSize || size[0] !== fbSize || size[1] !== fbSize) {
|
|
137
138
|
fb = vtkOpenGLFramebuffer.newInstance();
|
|
138
139
|
fb.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
139
140
|
fb.saveCurrentBindingsAndBuffers();
|
|
@@ -813,7 +813,7 @@ function vtkOpenGLVolumeMapper(publicAPI, model) {
|
|
|
813
813
|
model.framebuffer.populateFramebuffer();
|
|
814
814
|
} else {
|
|
815
815
|
const fbSize = model.framebuffer.getSize();
|
|
816
|
-
if (fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
|
|
816
|
+
if (!fbSize || fbSize[0] !== size[0] || fbSize[1] !== size[1]) {
|
|
817
817
|
model.framebuffer.create(size[0], size[1]);
|
|
818
818
|
model.framebuffer.populateFramebuffer();
|
|
819
819
|
}
|