Revision 6a02a170
Added by Leszek Koltunski about 17 hours 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