Revision 6a02a170
Added by Leszek Koltunski 6 months ago
| src/main/java/org/distorted/library/mesh/MeshMultigon.kt | ||
|---|---|---|
| 618 | 618 |
} |
| 619 | 619 |
|
| 620 | 620 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 621 |
private fun computeHoles(vertices: Array<Array<FloatArray>>, edgesUp: Array<IntArray>, outer: Array<FloatArray>, numHoleVerts: Int): Array<Array<FloatArray?>>
|
|
| 621 |
private fun computeHoles(vertices: Array<Array<FloatArray>>, edgesUp: Array<IntArray>, outer: Array<FloatArray>, numHoleVerts: Int): Array<Array<FloatArray>> |
|
| 622 | 622 |
{
|
| 623 | 623 |
val unclaimedEdges = arrayOfNulls<IntArray>(numHoleVerts) |
| 624 | 624 |
var index = 0 |
| ... | ... | |
| 652 | 652 |
} |
| 653 | 653 |
|
| 654 | 654 |
var remaining = numHoleVerts |
| 655 |
val holes = ArrayList<Array<FloatArray?>>()
|
|
| 655 |
val holes = ArrayList<Array<FloatArray>>() |
|
| 656 | 656 |
val output = Array(numHoleVerts) { FloatArray(2) }
|
| 657 | 657 |
var numHoles = 0 |
| 658 | 658 |
|
| ... | ... | |
| 662 | 662 |
remaining -= num |
| 663 | 663 |
numHoles++ |
| 664 | 664 |
|
| 665 |
val hole = Array<FloatArray?>(num) { FloatArray(2) }
|
|
| 665 |
val hole = Array(num) { FloatArray(2) }
|
|
| 666 | 666 |
for (h in 0 until num) |
| 667 | 667 |
{
|
| 668 |
hole[h]!![0] = output[h][0]
|
|
| 669 |
hole[h]!![1] = output[h][1]
|
|
| 668 |
hole[h][0] = output[h][0] |
|
| 669 |
hole[h][1] = output[h][1] |
|
| 670 | 670 |
} |
| 671 | 671 |
|
| 672 | 672 |
holes.add(hole) |
| ... | ... | |
| 732 | 732 |
|
| 733 | 733 |
val numEdgesDown = countEdgesDown(edgesUp) |
| 734 | 734 |
val numHoleVerts = numEdgesDown-numOuterVerts |
| 735 |
var holeVertices: Array<Array<FloatArray?>>? = null
|
|
| 735 |
var holeVertices: Array<Array<FloatArray>>? = null |
|
| 736 | 736 |
if (numHoleVerts>0) holeVertices = computeHoles(vertices, edgesUp, outerVertices, numHoleVerts) |
| 737 | 737 |
val numHoles = holeVertices?.size ?: 0 |
| 738 | 738 |
val ret: Array<Array<FloatArray>?> = arrayOfNulls(1+numHoles) |
| 739 | 739 |
ret[0] = outerVertices |
| 740 | 740 |
for (i in 0 until numHoles) ret[i+1] = holeVertices!![i] |
| 741 | 741 |
|
| 742 |
return ret |
|
| 742 |
return ret.requireNoNulls()
|
|
| 743 | 743 |
} |
| 744 | 744 |
} |
| 745 | 745 |
} |
Also available in: Unified diff
Kotlin nonNulls: fixes