Skip to content

Commit f5d2741

Browse files
author
Roberto De Ioris
committed
correctly initialize FTransform with vector 1
1 parent 2d00e80 commit f5d2741

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

Source/UnrealEnginePython/Private/UEPyFTransform.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,18 @@ static PyTypeObject ue_PyFTransformType = {
6262
ue_PyFTransform_getseters,
6363
};
6464

65+
static int ue_py_ftransform_init(ue_PyFTransform *self, PyObject *args, PyObject *kwargs) {
66+
// ensure scaling is set to 1,1,1
67+
FVector scale(1, 1, 1);
68+
self->transform.SetScale3D(scale);
69+
return 0;
70+
}
71+
6572
void ue_python_init_ftransform(PyObject *ue_module) {
6673
ue_PyFTransformType.tp_new = PyType_GenericNew;
6774

75+
ue_PyFTransformType.tp_init = (initproc)ue_py_ftransform_init;
76+
6877
if (PyType_Ready(&ue_PyFTransformType) < 0)
6978
return;
7079

tests/test_transform.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import unittest
22
import unreal_engine as ue
3-
from unreal_engine import FVector, FRotator
3+
from unreal_engine import FVector, FRotator, FTransform
44

55
class TestVector(unittest.TestCase):
66

@@ -17,3 +17,23 @@ def test_add_negative(self):
1717
def test_scale(self):
1818
vector0 = FVector(1, 2, -3)
1919
self.assertEqual( vector0 * 2, FVector(2, 4, -6))
20+
21+
class TestRotator(unittest.TestCase):
22+
23+
def test_roll_pitch_yaw(self):
24+
rotator0 = FRotator(10, 20, 30)
25+
self.assertEqual( rotator0.roll, 10)
26+
self.assertEqual( rotator0.pitch, 20)
27+
self.assertEqual( rotator0.yaw, 30)
28+
29+
class TestTransform(unittest.TestCase):
30+
31+
def test_default_values(self):
32+
transform0 = FTransform()
33+
self.assertEqual( transform0.translation, FVector(0, 0, 0))
34+
self.assertEqual( transform0.rotation.roll, 0)
35+
self.assertEqual( transform0.rotation.pitch, 0)
36+
self.assertEqual( transform0.rotation.yaw, 0)
37+
self.assertEqual( transform0.scale, FVector(1, 1, 1))
38+
39+

0 commit comments

Comments
 (0)