@@ -45,14 +45,14 @@ function vtkIFCImporter(publicAPI, model) {
4545 const pointValues = new Float32Array ( vertices . length / 2 ) ;
4646 const normalsArray = new Float32Array ( vertices . length / 2 ) ;
4747
48- for ( let i = 0 ; i < vertices . length ; i += 6 ) {
49- pointValues [ i / 2 ] = vertices [ i ] ;
50- pointValues [ i / 2 + 1 ] = vertices [ i + 1 ] ;
51- pointValues [ i / 2 + 2 ] = vertices [ i + 2 ] ;
52-
53- normalsArray [ i / 2 ] = vertices [ i + 3 ] ;
54- normalsArray [ i / 2 + 1 ] = vertices [ i + 4 ] ;
55- normalsArray [ i / 2 + 2 ] = vertices [ i + 5 ] ;
48+ for ( let i = 0 , p = 0 ; i < vertices . length ; i += 6 , p += 3 ) {
49+ pointValues [ p ] = vertices [ i ] ;
50+ pointValues [ p + 1 ] = vertices [ i + 1 ] ;
51+ pointValues [ p + 2 ] = vertices [ i + 2 ] ;
52+
53+ normalsArray [ p ] = vertices [ i + 3 ] ;
54+ normalsArray [ p + 1 ] = vertices [ i + 4 ] ;
55+ normalsArray [ p + 2 ] = vertices [ i + 5 ] ;
5656 }
5757
5858 const nCells = indices . length ;
@@ -91,48 +91,42 @@ function vtkIFCImporter(publicAPI, model) {
9191 const colorArray = new Float32Array ( vertices . length / 2 ) ;
9292
9393 if ( userMatrix ) {
94- const transformMatrix = vtkMatrixBuilder
95- . buildFromRadian ( )
96- . setMatrix ( userMatrix ) ;
94+ for ( let i = 0 , p = 0 ; i < vertices . length ; i += 6 , p += 3 ) {
95+ pointValues [ p ] = vertices [ i ] ;
96+ pointValues [ p + 1 ] = vertices [ i + 1 ] ;
97+ pointValues [ p + 2 ] = vertices [ i + 2 ] ;
98+
99+ normalsArray [ p ] = vertices [ i + 3 ] ;
100+ normalsArray [ p + 1 ] = vertices [ i + 4 ] ;
101+ normalsArray [ p + 2 ] = vertices [ i + 5 ] ;
102+
103+ colorArray [ p ] = color . x ;
104+ colorArray [ p + 1 ] = color . y ;
105+ colorArray [ p + 2 ] = color . z ;
106+ }
97107
98- const normalMatrix = vtkMatrixBuilder
108+ vtkMatrixBuilder
99109 . buildFromRadian ( )
100- . multiply3x3 ( mat3 . fromMat4 ( mat3 . create ( ) , userMatrix ) ) ;
101-
102- for ( let i = 0 ; i < vertices . length ; i += 6 ) {
103- const point = [ vertices [ i ] , vertices [ i + 1 ] , vertices [ i + 2 ] ] ;
104- const normal = [ vertices [ i + 3 ] , vertices [ i + 4 ] , vertices [ i + 5 ] ] ;
105-
106- transformMatrix . apply ( point ) ;
107- normalMatrix . apply ( normal ) ;
110+ . setMatrix ( userMatrix )
111+ . apply ( pointValues ) ;
108112
109- pointValues [ i / 2 ] = point [ 0 ] ;
110- pointValues [ i / 2 + 1 ] = point [ 1 ] ;
111- pointValues [ i / 2 + 2 ] = point [ 2 ] ;
112-
113- normalsArray [ i / 2 ] = normal [ 0 ] ;
114- normalsArray [ i / 2 + 1 ] = normal [ 1 ] ;
115- normalsArray [ i / 2 + 2 ] = normal [ 2 ] ;
116-
117- const colorIndex = i / 2 ;
118- colorArray [ colorIndex ] = color . x ;
119- colorArray [ colorIndex + 1 ] = color . y ;
120- colorArray [ colorIndex + 2 ] = color . z ;
121- }
113+ vtkMatrixBuilder
114+ . buildFromRadian ( )
115+ . multiply3x3 ( mat3 . fromMat4 ( mat3 . create ( ) , userMatrix ) )
116+ . apply ( normalsArray ) ;
122117 } else {
123- for ( let i = 0 ; i < vertices . length ; i += 6 ) {
124- pointValues [ i / 2 ] = vertices [ i ] ;
125- pointValues [ i / 2 + 1 ] = vertices [ i + 1 ] ;
126- pointValues [ i / 2 + 2 ] = vertices [ i + 2 ] ;
127-
128- normalsArray [ i / 2 ] = vertices [ i + 3 ] ;
129- normalsArray [ i / 2 + 1 ] = vertices [ i + 4 ] ;
130- normalsArray [ i / 2 + 2 ] = vertices [ i + 5 ] ;
131-
132- const colorIndex = i / 2 ;
133- colorArray [ colorIndex ] = color . x ;
134- colorArray [ colorIndex + 1 ] = color . y ;
135- colorArray [ colorIndex + 2 ] = color . z ;
118+ for ( let i = 0 , p = 0 ; i < vertices . length ; i += 6 , p += 3 ) {
119+ pointValues [ p ] = vertices [ i ] ;
120+ pointValues [ p + 1 ] = vertices [ i + 1 ] ;
121+ pointValues [ p + 2 ] = vertices [ i + 2 ] ;
122+
123+ normalsArray [ p ] = vertices [ i + 3 ] ;
124+ normalsArray [ p + 1 ] = vertices [ i + 4 ] ;
125+ normalsArray [ p + 2 ] = vertices [ i + 5 ] ;
126+
127+ colorArray [ p ] = color . x ;
128+ colorArray [ p + 1 ] = color . y ;
129+ colorArray [ p + 2 ] = color . z ;
136130 }
137131 }
138132
0 commit comments