All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.ru.casperix.math.geometry.float32.Quad2f.kt Maven / Gradle / Ivy

There is a newer version: 1.9.2
Show newest version
package ru.casperix.math.geometry.float32

import ru.casperix.math.angle.float32.DegreeFloat
import ru.casperix.math.angle.float32.RadianFloat
import ru.casperix.math.geometry.Quad2d
import ru.casperix.math.geometry.Quad2f
import ru.casperix.math.geometry.Quad3f
import ru.casperix.math.vector.float32.Vector2f

fun Quad2f.addDimension(value: Float): Quad3f {
    return convert { it.addDimension(value) }
}


fun Quad2f.toQuad2d(): Quad2d {
    return convert { it.toVector2d() }
}


@Deprecated(message = "use RadianFloat")
fun Quad2f.rotate(angle: Float): Quad2f {
    return convert {
        val p = it.toPolar()
        p.copy(angle = p.angle + angle).toDecart()
    }
}


fun Quad2f.median(): Vector2f {
    return (v0 + v1 + v2 + v3) / 4f
}


fun Quad2f.rotate(angle: RadianFloat): Quad2f {
    return convert {
        it.rotate(angle)
    }
}

fun Quad2f.rotate(angle: ru.casperix.math.angle.float32.DegreeFloat): Quad2f {
    return convert {
        it.rotate(angle)
    }
}

fun Quad2f.translate(offset: Vector2f): Quad2f {
    return convert { it + offset }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy