Improve error messages
This commit is contained in:
@@ -278,9 +278,16 @@ fun GltfFile.buildSceneNodes(): GltfSceneData {
|
||||
ibmData.order(ByteOrder.nativeOrder())
|
||||
(ibmData as Buffer).position(ibmAccessor.byteOffset + (ibmBufferView.byteOffset ?: 0))
|
||||
|
||||
require(ibmAccessor.type == "MAT4")
|
||||
require(ibmAccessor.componentType == GLTF_FLOAT)
|
||||
require(ibmAccessor.count == joints.size)
|
||||
require(ibmAccessor.type == "MAT4") {
|
||||
"Unsupported inverse bind matrix type: ${ibmAccessor.type}"
|
||||
}
|
||||
require(ibmAccessor.componentType == GLTF_FLOAT) {
|
||||
"Unsupported inverse bind matrix component type: ${ibmAccessor.componentType}"
|
||||
}
|
||||
require(ibmAccessor.count == joints.size) {
|
||||
"Mismatch between inverse bind matrix count (${ibmAccessor.count}) and joints size (${joints.size})"
|
||||
|
||||
}
|
||||
val ibms = (0 until ibmAccessor.count).map {
|
||||
val array = DoubleArray(16)
|
||||
for (i in 0 until 16) {
|
||||
|
||||
@@ -56,13 +56,16 @@ fun findContours(
|
||||
|
||||
fun blend(v1: Double, v2: Double): Double {
|
||||
if (useInterpolation) {
|
||||
require(v1 == v1 && v2 == v2)
|
||||
require(!v1.isNaN() && !v2.isNaN()) {
|
||||
"Input values v1=$v1 or v2=$v2 are NaN, which is not allowed."
|
||||
}
|
||||
val f1 = min(v1, v2)
|
||||
val f2 = max(v1, v2)
|
||||
val v = (-f1) / (f2 - f1)
|
||||
|
||||
require(v == v)
|
||||
require(v in 0.0..1.0)
|
||||
require(v == v && v in 0.0..1.0) {
|
||||
"Invalid value calculated during interpolation: v=$v"
|
||||
}
|
||||
|
||||
return if (f1 == v1) {
|
||||
v
|
||||
|
||||
@@ -172,11 +172,6 @@ fun Vector2.Companion.uniformRing(
|
||||
outerRadius: Double = 1.0,
|
||||
random: Random = Random.Default
|
||||
): Vector2 {
|
||||
|
||||
require(innerRadius <= outerRadius) {
|
||||
|
||||
}
|
||||
|
||||
val eps = 1E-6
|
||||
|
||||
if (abs(innerRadius - outerRadius) < eps) {
|
||||
|
||||
@@ -39,7 +39,11 @@ fun Turtle.segment(
|
||||
})
|
||||
|
||||
require(position.distanceTo(segment0.start) < 1E-5) {
|
||||
"""${position}, ${segment0.start}"""
|
||||
"Alignment error: Turtle position ${position} is not aligned with segment start ${segment0.start}. Distance: ${
|
||||
position.distanceTo(
|
||||
segment0.start
|
||||
)
|
||||
}"
|
||||
}
|
||||
cb.segment(segment0)
|
||||
orientation = cb.segments.last().pose(1.0).matrix33.matrix44
|
||||
|
||||
Reference in New Issue
Block a user