diff --git a/source/geometry/FloatEuclidTransform.ooc b/source/geometry/FloatEuclidTransform.ooc index 9d733d1a1..c4cf09719 100644 --- a/source/geometry/FloatEuclidTransform.ooc +++ b/source/geometry/FloatEuclidTransform.ooc @@ -17,7 +17,7 @@ use ooc-collections import math use ooc-math -import FloatPoint3D +import FloatVector3D import FloatRotation3D import FloatTransform2D import FloatTransform3D @@ -25,19 +25,19 @@ import Quaternion FloatEuclidTransform: cover { rotation: FloatRotation3D - translation: FloatPoint3D + translation: FloatVector3D scaling: Float inverse ::= This new(-this translation, this rotation inverse, 1.0f / this scaling) transform ::= FloatTransform3D createScaling(this scaling, this scaling, 1.0f) * FloatTransform3D createTranslation(this translation) * this rotation transform - init: func@ ~default { this init(FloatPoint3D new(), FloatRotation3D identity, 1.0f) } - init: func@ ~translationAndRotation (translation: FloatPoint3D, rotation: FloatRotation3D) { this init(translation, rotation, 1.0f) } + init: func@ ~default { this init(FloatVector3D new(), FloatRotation3D identity, 1.0f) } + init: func@ ~translationAndRotation (translation: FloatVector3D, rotation: FloatRotation3D) { this init(translation, rotation, 1.0f) } init: func@ ~full (=translation, =rotation, =scaling) init: func@ ~fromTransform (transform: FloatTransform2D) { rotationZ := atan(- transform d / transform a) scaling := ((transform a * transform a + transform b * transform b) sqrt() + (transform d * transform d + transform e * transform e) sqrt()) / 2.0f - this init(FloatPoint3D new(transform g, transform h, 0.0f), FloatRotation3D createRotationZ(rotationZ), scaling) + this init(FloatVector3D new(transform g, transform h, 0.0f), FloatRotation3D createRotationZ(rotationZ), scaling) } operator + (other: This) -> This { This new(this translation + other translation, this rotation * other rotation, this scaling * other scaling) } operator - (other: This) -> This { This new(this translation - other translation, this rotation * other rotation inverse, this scaling / other scaling) } diff --git a/test/geometry/FloatEuclidTransformTest.ooc b/test/geometry/FloatEuclidTransformTest.ooc index a5720e803..f37ca977f 100644 --- a/test/geometry/FloatEuclidTransformTest.ooc +++ b/test/geometry/FloatEuclidTransformTest.ooc @@ -11,7 +11,7 @@ FloatEuclidTransformTest: class extends Fixture { euclidTransforms := VectorList new(5) kernel := FloatVectorList new(5) for (i in 0 .. 5) { - euclidTransforms add(FloatEuclidTransform new(FloatPoint3D new(i, i, i), FloatRotation3D identity)) + euclidTransforms add(FloatEuclidTransform new(FloatVector3D new(i, i, i), FloatRotation3D identity)) kernel add(0.2f) } result := FloatEuclidTransform convolveCenter(euclidTransforms, kernel) @@ -28,7 +28,7 @@ FloatEuclidTransformTest: class extends Fixture { euclidTransforms := VectorList new(5) kernel := FloatVectorList gaussianKernel(5) for (i in 0 .. 5) - euclidTransforms add(FloatEuclidTransform new(FloatPoint3D new(i, i, i), FloatRotation3D identity)) + euclidTransforms add(FloatEuclidTransform new(FloatVector3D new(i, i, i), FloatRotation3D identity)) result := FloatEuclidTransform convolveCenter(euclidTransforms, kernel) expectedResult := 0.0f @@ -50,7 +50,7 @@ FloatEuclidTransformTest: class extends Fixture { for (i in 0 .. 5) { rotation := FloatRotation3D createRotationZ(i) quaternions add(rotation _quaternion) - euclidTransforms add(FloatEuclidTransform new(FloatPoint3D new(), rotation)) + euclidTransforms add(FloatEuclidTransform new(FloatVector3D new(), rotation)) } result := FloatEuclidTransform convolveCenter(euclidTransforms, kernel) expectedRotation := Quaternion weightedMean(quaternions, kernel) diff --git a/test/geometry/FloatEuclidTransformVectorListTest.ooc b/test/geometry/FloatEuclidTransformVectorListTest.ooc index 36785f175..cff831702 100644 --- a/test/geometry/FloatEuclidTransformVectorListTest.ooc +++ b/test/geometry/FloatEuclidTransformVectorListTest.ooc @@ -24,8 +24,8 @@ FloatEuclidTransformVectorListTest: class extends Fixture { tolerance := 0.0001f this add("get and set", func { list := FloatEuclidTransformVectorList new() - euclidTransform1 := FloatEuclidTransform new(FloatPoint3D new(1.0f, 2.0f, 3.0f), FloatRotation3D createRotationX(1.0f)) - euclidTransform2 := FloatEuclidTransform new(FloatPoint3D new(5.0f, 6.0f, 7.0f), FloatRotation3D createRotationX(1.0f)) + euclidTransform1 := FloatEuclidTransform new(FloatVector3D new(1.0f, 2.0f, 3.0f), FloatRotation3D createRotationX(1.0f)) + euclidTransform2 := FloatEuclidTransform new(FloatVector3D new(5.0f, 6.0f, 7.0f), FloatRotation3D createRotationX(1.0f)) list add(euclidTransform1) list add(euclidTransform2) expect(list[0] translation x, is equal to(euclidTransform1 translation x) within(tolerance)) @@ -42,8 +42,8 @@ FloatEuclidTransformVectorListTest: class extends Fixture { }) this add("get lists", func { list := FloatEuclidTransformVectorList new() - translation1 := FloatPoint3D new(1.11f, 2.31f, 3.64f) - translation2 := FloatPoint3D new(2.85f, 3.18f, 4.26f) + translation1 := FloatVector3D new(1.11f, 2.31f, 3.64f) + translation2 := FloatVector3D new(2.85f, 3.18f, 4.26f) rotation1 := FloatRotation3D new(Quaternion new(1.21f, 2.31f, 3.14f, 4.23f)) rotation2 := FloatRotation3D new(Quaternion new(2.51f, 3.12f, 4.41f, 5.42f)) scaling1 := 5.72f