commonMain.dsl.functions.UIntVector3Functions.kt Maven / Gradle / Ivy
The newest version!
package org.openrndr.orsl.shadergenerator.dsl.functions
import org.openrndr.orsl.shadergenerator.dsl.*
import org.openrndr.math.*
import kotlin.jvm.JvmName
@Suppress("INAPPLICABLE_JVM_NAME")
interface UIntVector3Functions {
@JvmName("divVdSuiv3")
operator fun Double.div(right: Symbol): Symbol = functionSymbol(this, right, "($0 / $1)")
@JvmName("timesSuiv3Vd")
operator fun Symbol.times(right: Double): Symbol = functionSymbol(this, right, "($0 * $1)")
@JvmName("timesSuiv3Vui")
operator fun Symbol.times(right: UInt): Symbol = functionSymbol(this, right, "($0 * $1u)")
@JvmName("timesSuiv3Sui")
operator fun Symbol.times(right: Symbol): Symbol = functionSymbol(this, right, "($0 * $1)")
@JvmName("timesSuiv3Vi")
operator fun Symbol.times(right: Int): Symbol = functionSymbol(this, right, "(ivec3($0) * $1)")
@JvmName("timesSuiv3Si")
operator fun Symbol.times(right: Symbol): Symbol = functionSymbol(this, right, "($0 * $1)")
@JvmName("timesSuiv3Sd")
operator fun Symbol.times(right: Symbol): Symbol =
functionSymbol(this, right, "($0 * $1)")
val Symbol.x: Symbol
@JvmName("xSuiv3")
get() = functionSymbol(this, "$0.x")
val Symbol.y: Symbol
@JvmName("ySuiv3")
get() = functionSymbol(this, "$0.y")
val Symbol.z: Symbol
@JvmName("zSuiv3")
get() = functionSymbol(this, "$0.z")
val Symbol.xy: Symbol
@JvmName("xySuiv3")
get() = functionSymbol(this, "$0.xy")
val Symbol.yz: Symbol
@JvmName("yzSuiv3")
get() = functionSymbol(this, "$0.yz")
val Symbol.xz: Symbol
@JvmName("xzSuiv3")
get() = functionSymbol(this, "$0.xz")
@Suppress("FunctionName")
@JvmName("uivec3SuiSuiSui")
fun UIntVector3(x: Symbol, y: Symbol, z: Symbol): Symbol =
functionSymbol(x, y, z, "ivec3($0, $1, $2)")
/**
* cast UIntVector3 to IntVector3
*/
val Symbol.int: Symbol
@JvmName("intSuiv3")
get() = functionSymbol(this, "ivec3($0)")
/**
* cast UIntVector3 to Vector3
*/
val Symbol.double: Symbol
@JvmName("doubleSuiv3")
get() = functionSymbol(this, "vec3($0)")
}
//val UIntVector3.symbol: Symbol
// get() {
// return symbol(glsl(this)!!)
// }
© 2015 - 2024 Weber Informatics LLC | Privacy Policy