File: test_simple_frame.py

package info (click to toggle)
dart 6.12.1%2Bdfsg4-12
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 57,000 kB
  • sloc: cpp: 269,461; python: 3,911; xml: 1,273; sh: 404; makefile: 30
file content (53 lines) | stat: -rw-r--r-- 1,936 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import platform
import pytest
import numpy as np
import dartpy as dart


def test_basic():
    world_frame = dart.dynamics.Frame.World()
    assert world_frame.isWorld()

    frame1 = dart.dynamics.SimpleFrame()
    assert not frame1.isWorld()
    assert not frame1.isShapeNode()
    assert frame1.isShapeFrame()

    assert frame1.getTransform().translation()[0] == pytest.approx(0)
    assert frame1.getTransform().translation()[1] == pytest.approx(0)
    assert frame1.getTransform().translation()[2] == pytest.approx(0)

    frame1.setTranslation([1, 2, 3])
    assert frame1.getTransform().translation()[0] == pytest.approx(1)
    assert frame1.getTransform().translation()[1] == pytest.approx(2)
    assert frame1.getTransform().translation()[2] == pytest.approx(3)

    assert frame1.getParentFrame().isWorld()
    assert frame1.descendsFrom(None)
    assert frame1.descendsFrom(world_frame)
    assert frame1.descendsFrom(frame1)

    frame2 = frame1.spawnChildSimpleFrame()
    assert not frame2.isWorld()
    assert frame2.descendsFrom(None)
    assert frame2.descendsFrom(world_frame)
    assert frame2.descendsFrom(frame1)
    assert frame2.descendsFrom(frame2)

    assert frame2.getTransform().translation()[0] == pytest.approx(1)
    assert frame2.getTransform().translation()[1] == pytest.approx(2)
    assert frame2.getTransform().translation()[2] == pytest.approx(3)

    frame2.setRelativeTranslation([1, 2, 3])
    assert frame2.getTransform().translation()[0] == pytest.approx(2)
    assert frame2.getTransform().translation()[1] == pytest.approx(4)
    assert frame2.getTransform().translation()[2] == pytest.approx(6)

    frame2.setTranslation([1, 2, 3])
    assert frame2.getTransform().translation()[0] == pytest.approx(1)
    assert frame2.getTransform().translation()[1] == pytest.approx(2)
    assert frame2.getTransform().translation()[2] == pytest.approx(3)


if __name__ == "__main__":
    pytest.main()