@@ -181,15 +181,15 @@ fun triangleContainsPoint(a: Vec2, b: Vec2, c: Vec2, p: Vec2): Boolean {
181181 return ((b1 == b2) && (b2 == b3))
182182}
183183
184- fun triangleBarycentricCoords (a : Vec2 , b : Vec2 , c : Vec2 , p : Vec2 , outU : Float = 0f, outV : Float = 0f, outW : Float = 0f ): FloatArray {
184+ fun triangleBarycentricCoords (a : Vec2 , b : Vec2 , c : Vec2 , p : Vec2 ): FloatArray {
185185 val v0 = b - a
186186 val v1 = c - a
187187 val v2 = p - a
188188 val denom = v0.x * v1.y - v1.x * v0.y
189- return floatArrayOf(
190- (v2 .x * v1 .y - v1 .x * v2 .y) / denom,
191- (v0.x * v2.y - v2.x * v0.y) / denom,
192- 1f - outV - outW)
189+ val outV = (v2.x * v1.y - v1.x * v2.y) / denom
190+ val outW = (v0 .x * v2 .y - v2 .x * v0 .y) / denom
191+ val outU = 1f - outV - outW
192+ return floatArrayOf(outU, outV, outW)
193193}
194194
195195fun triangleClosestPoint (a : Vec2 , b : Vec2 , c : Vec2 , p : Vec2 ): Vec2 {
@@ -281,7 +281,6 @@ fun Vec2.invLength(failValue: Float): Float {
281281 return failValue
282282}
283283
284- fun Vec2.rotateAssign (cosA : Float , sinA : Float ) = invoke(x * cosA - y * sinA, x * sinA + y * cosA)
285284fun Vec2.rotate (cosA : Float , sinA : Float ) = Vec2 (x * cosA - y * sinA, x * sinA + y * cosA)
286285fun linearSweep (current : Float , target : Float , speed : Float ) = when {
287286 current < target -> glm.min(current + speed, target)
0 commit comments