@@ -82,18 +82,15 @@ public boolean isClipping () {
82
82
return clipAttachment != null ;
83
83
}
84
84
85
- public void clipTriangles (float [] vertices , int verticesLength , short [] triangles , int trianglesLength ) {
86
-
85
+ public void clipTriangles (float [] vertices , short [] triangles , int trianglesLength ) {
87
86
FloatArray clipOutput = this .clipOutput , clippedVertices = this .clippedVertices ;
88
87
ShortArray clippedTriangles = this .clippedTriangles ;
89
88
Object [] polygons = clippingPolygons .items ;
90
89
int polygonsCount = clippingPolygons .size ;
91
- int vertexSize = 2 ;
92
90
93
91
short index = 0 ;
94
92
clippedVertices .clear ();
95
93
clippedTriangles .clear ();
96
- outer :
97
94
for (int i = 0 ; i < trianglesLength ; i += 3 ) {
98
95
int vertexOffset = triangles [i ] << 1 ;
99
96
float x1 = vertices [vertexOffset ], y1 = vertices [vertexOffset + 1 ];
@@ -112,27 +109,25 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
112
109
113
110
int clipOutputCount = clipOutputLength >> 1 ;
114
111
float [] clipOutputItems = clipOutput .items ;
115
- float [] clippedVerticesItems = clippedVertices .setSize (s + clipOutputCount * vertexSize );
116
- for (int ii = 0 ; ii < clipOutputLength ; ii += 2 ) {
112
+ float [] clippedVerticesItems = clippedVertices .setSize (s + clipOutputCount * 2 );
113
+ for (int ii = 0 ; ii < clipOutputLength ; ii += 2 , s += 2 ) {
117
114
float x = clipOutputItems [ii ], y = clipOutputItems [ii + 1 ];
118
115
clippedVerticesItems [s ] = x ;
119
116
clippedVerticesItems [s + 1 ] = y ;
120
- s += 2 ;
121
117
}
122
118
123
119
s = clippedTriangles .size ;
124
120
short [] clippedTrianglesItems = clippedTriangles .setSize (s + 3 * (clipOutputCount - 2 ));
125
121
clipOutputCount --;
126
- for (int ii = 1 ; ii < clipOutputCount ; ii ++) {
122
+ for (int ii = 1 ; ii < clipOutputCount ; ii ++, s += 3 ) {
127
123
clippedTrianglesItems [s ] = index ;
128
124
clippedTrianglesItems [s + 1 ] = (short )(index + ii );
129
125
clippedTrianglesItems [s + 2 ] = (short )(index + ii + 1 );
130
- s += 3 ;
131
126
}
132
127
index += clipOutputCount + 1 ;
133
128
134
129
} else {
135
- float [] clippedVerticesItems = clippedVertices .setSize (s + 3 * vertexSize );
130
+ float [] clippedVerticesItems = clippedVertices .setSize (s + 3 * 2 );
136
131
clippedVerticesItems [s ] = x1 ;
137
132
clippedVerticesItems [s + 1 ] = y1 ;
138
133
@@ -148,14 +143,14 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
148
143
clippedTrianglesItems [s + 1 ] = (short )(index + 1 );
149
144
clippedTrianglesItems [s + 2 ] = (short )(index + 2 );
150
145
index += 3 ;
151
- continue outer ;
146
+ break ;
152
147
}
153
148
}
154
149
}
155
150
}
156
151
157
- public void clipTriangles (float [] vertices , int verticesLength , short [] triangles , int trianglesLength , float [] uvs ,
158
- float light , float dark , boolean twoColor ) {
152
+ public void clipTriangles (float [] vertices , short [] triangles , int trianglesLength , float [] uvs , float light , float dark ,
153
+ boolean twoColor ) {
159
154
160
155
FloatArray clipOutput = this .clipOutput , clippedVertices = this .clippedVertices ;
161
156
ShortArray clippedTriangles = this .clippedTriangles ;
@@ -166,7 +161,6 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
166
161
short index = 0 ;
167
162
clippedVertices .clear ();
168
163
clippedTriangles .clear ();
169
- outer :
170
164
for (int i = 0 ; i < trianglesLength ; i += 3 ) {
171
165
int vertexOffset = triangles [i ] << 1 ;
172
166
float x1 = vertices [vertexOffset ], y1 = vertices [vertexOffset + 1 ];
@@ -191,7 +185,7 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
191
185
int clipOutputCount = clipOutputLength >> 1 ;
192
186
float [] clipOutputItems = clipOutput .items ;
193
187
float [] clippedVerticesItems = clippedVertices .setSize (s + clipOutputCount * vertexSize );
194
- for (int ii = 0 ; ii < clipOutputLength ; ii += 2 ) {
188
+ for (int ii = 0 ; ii < clipOutputLength ; ii += 2 , s += 2 ) {
195
189
float x = clipOutputItems [ii ], y = clipOutputItems [ii + 1 ];
196
190
clippedVerticesItems [s ] = x ;
197
191
clippedVerticesItems [s + 1 ] = y ;
@@ -207,17 +201,15 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
207
201
float c = 1 - a - b ;
208
202
clippedVerticesItems [s ] = u1 * a + u2 * b + u3 * c ;
209
203
clippedVerticesItems [s + 1 ] = v1 * a + v2 * b + v3 * c ;
210
- s += 2 ;
211
204
}
212
205
213
206
s = clippedTriangles .size ;
214
207
short [] clippedTrianglesItems = clippedTriangles .setSize (s + 3 * (clipOutputCount - 2 ));
215
208
clipOutputCount --;
216
- for (int ii = 1 ; ii < clipOutputCount ; ii ++) {
209
+ for (int ii = 1 ; ii < clipOutputCount ; ii ++, s += 3 ) {
217
210
clippedTrianglesItems [s ] = index ;
218
211
clippedTrianglesItems [s + 1 ] = (short )(index + ii );
219
212
clippedTrianglesItems [s + 2 ] = (short )(index + ii + 1 );
220
- s += 3 ;
221
213
}
222
214
index += clipOutputCount + 1 ;
223
215
@@ -267,7 +259,7 @@ public void clipTriangles (float[] vertices, int verticesLength, short[] triangl
267
259
clippedTrianglesItems [s + 1 ] = (short )(index + 1 );
268
260
clippedTrianglesItems [s + 2 ] = (short )(index + 2 );
269
261
index += 3 ;
270
- continue outer ;
262
+ break ;
271
263
}
272
264
}
273
265
}
0 commit comments