@kitware/vtk.js 33.3.0 → 33.3.1
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.
|
@@ -38,7 +38,8 @@ function vtkWebGPUPolyDataMapper(publicAPI, model) {
|
|
|
38
38
|
// and they handle the rendering of that cell array
|
|
39
39
|
const cellMappers = [];
|
|
40
40
|
let cellOffset = 0;
|
|
41
|
-
|
|
41
|
+
// Handle all primitive types including strips
|
|
42
|
+
for (let i = PrimitiveTypes.Points; i <= PrimitiveTypes.TriangleStrips; i++) {
|
|
42
43
|
if (prims[i].getNumberOfValues() > 0) {
|
|
43
44
|
if (!model.primitives[i]) {
|
|
44
45
|
model.primitives[i] = publicAPI.createCellArrayMapper();
|
|
@@ -55,22 +56,41 @@ function vtkWebGPUPolyDataMapper(publicAPI, model) {
|
|
|
55
56
|
model.primitives[i] = null;
|
|
56
57
|
}
|
|
57
58
|
}
|
|
59
|
+
|
|
60
|
+
// Handle edge visibility for both triangles and triangle strips
|
|
58
61
|
if (model.WebGPUActor.getRenderable().getProperty().getEdgeVisibility()) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
62
|
+
// Handle triangle edges
|
|
63
|
+
if (prims[PrimitiveTypes.Triangles].getNumberOfValues() > 0) {
|
|
64
|
+
const i = PrimitiveTypes.TriangleEdges;
|
|
65
|
+
if (!model.primitives[i]) {
|
|
66
|
+
model.primitives[i] = publicAPI.createCellArrayMapper();
|
|
67
|
+
}
|
|
68
|
+
const cellMapper = model.primitives[i];
|
|
69
|
+
cellMapper.setCellArray(prims[PrimitiveTypes.Triangles]);
|
|
70
|
+
cellMapper.setCurrentInput(poly);
|
|
71
|
+
cellMapper.setCellOffset(model.primitives[PrimitiveTypes.Triangles].getCellOffset());
|
|
72
|
+
cellMapper.setPrimitiveType(i);
|
|
73
|
+
cellMapper.setRenderable(model.renderable);
|
|
74
|
+
cellMappers.push(cellMapper);
|
|
75
|
+
} else {
|
|
76
|
+
model.primitives[PrimitiveTypes.TriangleEdges] = null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Handle triangle strip edges
|
|
80
|
+
if (prims[PrimitiveTypes.TriangleStrips].getNumberOfValues() > 0) {
|
|
81
|
+
const i = PrimitiveTypes.TriangleStripEdges;
|
|
82
|
+
if (!model.primitives[i]) {
|
|
83
|
+
model.primitives[i] = publicAPI.createCellArrayMapper();
|
|
73
84
|
}
|
|
85
|
+
const cellMapper = model.primitives[i];
|
|
86
|
+
cellMapper.setCellArray(prims[PrimitiveTypes.TriangleStrips]);
|
|
87
|
+
cellMapper.setCurrentInput(poly);
|
|
88
|
+
cellMapper.setCellOffset(model.primitives[PrimitiveTypes.TriangleStrips].getCellOffset());
|
|
89
|
+
cellMapper.setPrimitiveType(i);
|
|
90
|
+
cellMapper.setRenderable(model.renderable);
|
|
91
|
+
cellMappers.push(cellMapper);
|
|
92
|
+
} else {
|
|
93
|
+
model.primitives[PrimitiveTypes.TriangleStripEdges] = null;
|
|
74
94
|
}
|
|
75
95
|
}
|
|
76
96
|
publicAPI.prepareNodes();
|