Project

General

Profile

« Previous | Next » 

Revision 13ae356d

Added by Leszek Koltunski 1 day ago

  • ID 13ae356dce1788c69c3d8a29c193d4d9ff7f8426
  • Parent 7b925f23

transition the 'mesh' package.

View differences:

src/main/java/org/distorted/library/mesh/DeferredJobs.kt
74 74
    }
75 75

  
76 76
    ///////////////////////////////////////////////////////////////////////////////////////////////////
77
    fun vertex(target: MeshBase, effect: VertexEffect?): JobNode
77
    fun <T:MeshBase> vertex(target: T, effect: VertexEffect?): JobNode
78 78
    {
79 79
        val jn = target.mJobNode[0]
80 80

  
......
105 105
    }
106 106

  
107 107
    ///////////////////////////////////////////////////////////////////////////////////////////////////
108
    fun matrix(target: MeshBase, effect: MatrixEffect?, andAssoc: Int, ecuAssoc: Int): JobNode
108
    fun <T:MeshBase> matrix(target: T, effect: MatrixEffect?, andAssoc: Int, ecuAssoc: Int): JobNode
109 109
    {
110 110
        val jn = target.mJobNode[0]
111 111
        val job = Job(JOB_TYPE_MATRIX, target, null, null, effect, null, 0, andAssoc, ecuAssoc, 0f, 0f, 0f, null)
......
117 117
    }
118 118

  
119 119
    ///////////////////////////////////////////////////////////////////////////////////////////////////
120
    fun mergeTex(target: MeshBase): JobNode
120
    fun <T:MeshBase> mergeTex(target: T): JobNode
121 121
    {
122 122
        val jn = target.mJobNode[0]
123 123
        val job = Job(JOB_TYPE_MERGE_TEX, target, null, null, null, null, 0, 0, 0, 0f, 0f, 0f, null)
......
129 129
    }
130 130

  
131 131
    ///////////////////////////////////////////////////////////////////////////////////////////////////
132
    fun addEmptyTex(target: MeshBase): JobNode
132
    fun <T:MeshBase> addEmptyTex(target: T): JobNode
133 133
    {
134 134
        val jn = target.mJobNode[0]
135 135
        val job = Job(JOB_TYPE_ADD_EMPTY_TEX, target, null, null, null, null, 0, 0, 0, 0f, 0f, 0f, null)
......
141 141
    }
142 142

  
143 143
    ///////////////////////////////////////////////////////////////////////////////////////////////////
144
    fun mergeEff(target: MeshBase): JobNode
144
    fun <T:MeshBase> mergeEff(target: T): JobNode
145 145
    {
146 146
        val jn = target.mJobNode[0]
147 147
        val job = Job(JOB_TYPE_MERGE_EFF, target, null, null, null, null, 0, 0, 0, 0f, 0f, 0f, null)
......
153 153
    }
154 154

  
155 155
    ///////////////////////////////////////////////////////////////////////////////////////////////////
156
    fun join(target: MeshBase, meshes: Array<MeshBase>): JobNode
156
    fun <T:MeshBase> join(target: T, meshes: Array<T>): JobNode
157 157
    {
158 158
        var jn: JobNode?
159 159

  
......
176 176
    }
177 177

  
178 178
    ///////////////////////////////////////////////////////////////////////////////////////////////////
179
    fun copy(target: MeshBase, mesh: MeshBase): JobNode
179
    fun <T:MeshBase> copy(target: T, mesh: T): JobNode
180 180
    {
181 181
        val jn = mesh.mJobNode[0]
182 182
        val meshes = arrayOf(mesh)
......
189 189
    }
190 190

  
191 191
    ///////////////////////////////////////////////////////////////////////////////////////////////////
192
    fun textureMap(target: MeshBase, maps: Array<Static4D?>?, comp: Int): JobNode
192
    fun <T:MeshBase> textureMap(target: T, maps: Array<Static4D?>?, comp: Int): JobNode
193 193
    {
194 194
        val jn = target.mJobNode[0]
195 195
        val job = Job(JOB_TYPE_TEXTURE, target, null, null, null, maps, comp, 0, 0, 0f, 0f, 0f, null)
......
201 201
    }
202 202

  
203 203
    ///////////////////////////////////////////////////////////////////////////////////////////////////
204
    fun effectAssoc(target: MeshBase, comp: Int, andAssoc: Int, equAssoc: Int): JobNode
204
    fun <T:MeshBase> effectAssoc(target: T, comp: Int, andAssoc: Int, equAssoc: Int): JobNode
205 205
    {
206 206
        val jn = target.mJobNode[0]
207 207
        val job = Job(JOB_TYPE_ASSOC, target, null, null, null, null, comp, andAssoc, equAssoc, 0f, 0f, 0f, null)
......
213 213
    }
214 214

  
215 215
    ///////////////////////////////////////////////////////////////////////////////////////////////////
216
    fun componentCenter(target: MeshBase, comp: Int, x: Float, y: Float, z: Float): JobNode
216
    fun <T:MeshBase> componentCenter(target: T, comp: Int, x: Float, y: Float, z: Float): JobNode
217 217
    {
218 218
        val jn = target.mJobNode[0]
219 219
        val job = Job(JOB_TYPE_CENTER, target, null, null, null, null, comp, 0, 0, x, y, z, null)
......
225 225
    }
226 226

  
227 227
    ///////////////////////////////////////////////////////////////////////////////////////////////////
228
    fun setNotAffected(target: MeshBase, comps: IntArray?): JobNode
228
    fun <T:MeshBase> setNotAffected(target: T, comps: IntArray?): JobNode
229 229
    {
230 230
        val jn = target.mJobNode[0]
231 231
        val job = Job(JOB_TYPE_NOT_AFFECTED, target, null, null, null, null, 0, 0, 0, 0f, 0f, 0f, comps)
src/main/java/org/distorted/library/mesh/MeshBase.kt
317 317
    }
318 318

  
319 319
    ///////////////////////////////////////////////////////////////////////////////////////////////////
320
    fun joinAttribs(meshes: Array<MeshBase>)
320
    fun <T:MeshBase> joinAttribs(meshes: Array<T>)
321 321
    {
322 322
        var mesh: MeshBase
323 323
        var comp: TexComponent
......
493 493

  
494 494
    ///////////////////////////////////////////////////////////////////////////////////////////////////
495 495
    // called from MeshJoined
496
    fun join(meshes: Array<MeshBase>)
496
    fun <T:MeshBase> join(meshes: Array<T>)
497 497
    {
498 498
        var immediateJoin = true
499 499

  
src/main/java/org/distorted/library/mesh/MeshMultigon.kt
397 397
            }
398 398
        }
399 399

  
400
        join(triangles)
400
        @Suppress("UNCHECKED_CAST")
401
        val trianglesNonNullable: Array<MeshBandedTriangle> = triangles as Array<MeshBandedTriangle>
402

  
403
        join(trianglesNonNullable)
401 404
        mergeEffComponents()
402 405
        mergeTexComponents()
403 406
    }
......
732 735
            var holeVertices: Array<Array<FloatArray?>>? = null
733 736
            if (numHoleVerts>0) holeVertices = computeHoles(vertices, edgesUp, outerVertices, numHoleVerts)
734 737
            val numHoles = holeVertices?.size ?: 0
735
            val ret: Array<Array<FloatArray>> = arrayOfNulls(1+numHoles)
738
            val ret: Array<Array<FloatArray>?> = arrayOfNulls(1+numHoles)
736 739
            ret[0] = outerVertices
737 740
            for (i in 0 until numHoles) ret[i+1] = holeVertices!![i]
738 741

  

Also available in: Unified diff