Skip to content

Commit 42cd01f

Browse files
WesleyTheGeolienfinetjul
authored andcommitted
fix(tubeFilter): add test
1 parent adf7017 commit 42cd01f

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

Sources/Filters/General/TubeFilter/test/testTubeFilter.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,59 @@ test.onlyIfWebGL('Test vtkTubeFilter rendering', (t) => {
181181
});
182182
renderWindow.render();
183183
});
184+
185+
test('Test vtkTubeFilter numberOfPoints', (t) => {
186+
const numberOfSides = 3;
187+
const numberOfLines = 2;
188+
const sidesShareVertices = 1;
189+
190+
const polyData = vtkPolyData.newInstance();
191+
192+
const points = new Uint32Array([
193+
0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5,
194+
]);
195+
const lines = new Uint32Array([2, 0, 1, 4, 2, 3, 4, 5]);
196+
197+
polyData.getPoints().setData(points);
198+
polyData.getLines().setData(lines);
199+
200+
const tubeFilter = vtkTubeFilter.newInstance();
201+
tubeFilter.setCapping(false);
202+
tubeFilter.setNumberOfSides(numberOfSides);
203+
204+
tubeFilter.setInputData(polyData);
205+
206+
const tubeOutput = tubeFilter.getOutputData();
207+
208+
// Each segment should have numberOfPoints * sidesShareVertices * numberOfSides
209+
// sidesShareVertices = 1
210+
// numberOfSides = 3
211+
// 2 * 1 * 3 + 4 * 1 * 3
212+
t.ok(
213+
tubeOutput.getPoints().getNumberOfPoints() ===
214+
2 * sidesShareVertices * numberOfSides +
215+
4 * sidesShareVertices * numberOfSides,
216+
'Make sure the output number of points is correct.'
217+
);
218+
219+
tubeFilter.setCapping(true);
220+
221+
tubeFilter.setInputData(polyData);
222+
223+
const tubeOutputCapping = tubeFilter.getOutputData();
224+
225+
// Each segment should have numberOfPoints * sidesShareVertices * numberOfSides
226+
// sidesShareVertices = 1
227+
// numberOfSides = 3
228+
// 2 * 1 * 3 + 4 * 1 * 3
229+
// Caps should have numberOfSides * 2 (each end) * numberOfLines
230+
t.ok(
231+
tubeOutputCapping.getPoints().getNumberOfPoints() ===
232+
2 * sidesShareVertices * numberOfSides +
233+
4 * sidesShareVertices * numberOfSides +
234+
numberOfLines * numberOfSides * 2,
235+
'Make sure the output number of points is correct with capping.'
236+
);
237+
238+
t.end();
239+
});

0 commit comments

Comments
 (0)