1
1
import test from 'tape-catch' ;
2
2
3
- import vtkArrowSource from 'vtk.js/Sources/Filters/Sources/ArrowSource' ;
4
3
import vtkCubeSource from 'vtk.js/Sources/Filters/Sources/CubeSource' ;
5
4
import vtkMath from 'vtk.js/Sources/Common/Core/Math' ;
6
5
import vtkOBBTree from 'vtk.js/Sources/Filters/General/OBBTree' ;
7
6
import vtkMatrixBuilder from 'vtk.js/Sources/Common/Core/MatrixBuilder' ;
8
7
import vtkPolyData from 'vtk.js/Sources/Common/DataModel/PolyData' ;
9
8
import vtkTriangleFilter from 'vtk.js/Sources/Filters/General/TriangleFilter' ;
10
9
11
- const epsilon = 0.1 ;
10
+ const epsilon = 0.0001 ;
12
11
13
12
function getAllCorners ( startCorner , min , mid , max ) {
14
13
const start2min = vtkMath . add ( startCorner , min , [ ] ) ;
@@ -35,45 +34,6 @@ function hasMatchingPoint(point, points, eps) {
35
34
return ! ! points . find ( ( pt ) => vtkMath . areEquals ( point , pt , eps ) ) ;
36
35
}
37
36
38
- test ( 'Test OBB tree constructor' , ( t ) => {
39
- const source = vtkArrowSource . newInstance ( ) ;
40
- source . update ( ) ;
41
- const mesh = source . getOutputData ( ) ;
42
-
43
- const obbTree = vtkOBBTree . newInstance ( ) ;
44
- obbTree . setDataset ( mesh ) ;
45
- obbTree . setMaxLevel ( 2 ) ;
46
- obbTree . buildLocator ( ) ;
47
-
48
- const corner = [ 0 , 0 , 0 ] ;
49
- const max = [ 0 , 0 , 0 ] ;
50
- const mid = [ 0 , 0 , 0 ] ;
51
- const min = [ 0 , 0 , 0 ] ;
52
- const size = [ 0 , 0 , 0 ] ;
53
-
54
- const expectedSize = [ 0.0658262 , 0.00126738 , 0.00126738 ] ;
55
- const expectedCorners = [
56
- [ - 0.32499999999999996 , - 0.13660254037844385 , - 1.522196077276375e-17 ] ,
57
- [ - 0.32499999999999996 , 0 , - 0.13660254037844385 ] ,
58
- [ - 0.32499999999999996 , 2.04473419971054e-17 , 0.13660254037844388 ] ,
59
- [ - 0.32499999999999996 , 0.13660254037844388 , 6.804476607412299e-17 ] ,
60
- [ 0.675 , - 0.13660254037844388 , - 2.7755575615628914e-17 ] ,
61
- [ 0.675 , - 2.7755575615628914e-17 , - 0.13660254037844385 ] ,
62
- [ 0.675 , 0 , 0.13660254037844388 ] ,
63
- [ 0.675 , 0.13660254037844385 , 5.551115123125783e-17 ] ,
64
- ] ;
65
-
66
- obbTree . computeOBBFromDataset ( mesh , corner , max , mid , min , size ) ;
67
- const allCorners = getAllCorners ( corner , min , mid , max ) ;
68
-
69
- allCorners . forEach ( ( actual , index ) => {
70
- t . ok ( hasMatchingPoint ( actual , expectedCorners , epsilon ) , `Corner ${ index } ` ) ;
71
- } ) ;
72
- t . ok ( vtkMath . areEquals ( size , expectedSize , epsilon ) , 'size' ) ;
73
-
74
- t . end ( ) ;
75
- } ) ;
76
-
77
37
test ( 'Test OBB tree transform' , ( t ) => {
78
38
const source = vtkCubeSource . newInstance ( ) ;
79
39
source . update ( ) ;
0 commit comments