@@ -20,98 +20,136 @@ Item {
2020 //
2121 id: root
2222
23+ Column {
24+
2325 SpinBox {
2426 id: camZSpin
2527 from: 0
2628 to: 1000
2729 value: 200
2830 }
2931
30- // The root scene
31- Node {
32- id: standAloneScene
32+ Repeater {
3333
34- DirectionalLight {
35- ambientColor: Qt .rgba (0.5 , 0.5 , 0.5 , 1.0 )
36- brightness: 1.0
37- eulerRotation .x : - 25
38- }
34+ model: robot .jointNames .length
3935
40- Model {
41- source: " #Cube"
42- x: 50
43- scale: Qt .vector3d (1 , 0.05 , 0.05 )
44- materials: [
45- DefaultMaterial {
46- diffuseColor: Qt .rgba (0.8 , 0.0 , 0.0 , 1.0 )
47- }
48- ]
49- }
36+ Slider {
37+ required property int index
38+ from: - 3
39+ to: 3
5040
51- Model {
52- source: " #Cube"
53- y: 50
54- scale: Qt .vector3d (1 , 0.05 , 0.05 )
55- eulerRotation .z : 90
56- materials: [
57- DefaultMaterial {
58- diffuseColor: Qt .rgba (0.0 , 0.8 , 0.0 , 1.0 )
59- }
60- ]
61- }
41+ onValueChanged: {
6242
63- Model {
64- source: " #Cube"
65- z: 50
66- scale: Qt .vector3d (1 , 0.05 , 0.05 )
67- eulerRotation .y : - 90
68- materials: [
69- DefaultMaterial {
70- diffuseColor: Qt .rgba (0. , 0.0 , 0.8 , 1.0 )
71- }
72- ]
43+ robot .q [index] = value
44+ robot .updateQ (robot .q )
45+ }
7346 }
7447
75- Model {
76- source: " #Sphere"
77- scale: Qt .vector3d (0.1 , 0.1 , 0.1 )
78- materials: [
79- DefaultMaterial {
80- diffuseColor: Qt .rgba (0.0 , 0.8 , 0.0 , 0.2 )
81- }
82- ]
83- }
8448
85- RobotModelNode {
86- client: root .client
49+ }
50+
51+ }
52+
53+ // The root scene
54+ Node {
55+
56+ id: standAloneScene
57+
58+ Node {
59+ id: originNode
60+ // Stationary perspective camera
61+ PerspectiveCamera {
62+ id: cameraPerspectiveTwo
63+ position: Qt .vector3d (200 , 0 , 0 )
64+ clipNear: 1
65+ Component .onCompleted : lookAt (Qt .vector3d (0 , 0 , 0 ))
66+ }
8767 }
8868
89- // CustomMesh {
90- // // name: modelData.linkName
91- // // type: modelData.type
92- // meshUri: 'package://kyon_urdf/meshes/collision/mesh_pelvis.stl'
93- // // meshUri: '#Cube'
94- // // scale: Qt.vector3d(0.001, 0.001, 0.001)
95-
96- // // cylinderLength: modelData.length || 0
97- // // cylinderRadius: modelData.radius || 0
98- // // scale: modelData.scale
99- // // localPosition: modelData.origin_xyz
100- // // localRotation: modelData.origin_rot
101- // // color: root.color
102- // // alpha: root.alpha
103- // // visible: root.visible
104- // client: root.client
105- // }
106-
107- // Stationary perspective camera
108- PerspectiveCamera {
109- id: cameraPerspectiveTwo
110- position: Qt .vector3d (200 , 0 , 0 )
111- clipNear: 1
112-
113- Component .onCompleted : lookAt (Qt .vector3d (0 , 0 , 0 ))
69+ Node {
70+
71+ id: modelScene
72+
73+ DirectionalLight {
74+ ambientColor: Qt .rgba (0.5 , 0.5 , 0.5 , 1.0 )
75+ brightness: 1.0
76+ eulerRotation .x : - 25
77+ }
78+
79+ Model {
80+ source: " #Cube"
81+ x: 50
82+ scale: Qt .vector3d (1 , 0.05 , 0.05 )
83+ materials: [
84+ DefaultMaterial {
85+ diffuseColor: Qt .rgba (0.8 , 0.0 , 0.0 , 1.0 )
86+ }
87+ ]
88+ }
89+
90+ Model {
91+ source: " #Cube"
92+ y: 50
93+ scale: Qt .vector3d (1 , 0.05 , 0.05 )
94+ eulerRotation .z : 90
95+ materials: [
96+ DefaultMaterial {
97+ diffuseColor: Qt .rgba (0.0 , 0.8 , 0.0 , 1.0 )
98+ }
99+ ]
100+ }
101+
102+ Model {
103+ source: " #Cube"
104+ z: 50
105+ scale: Qt .vector3d (1 , 0.05 , 0.05 )
106+ eulerRotation .y : - 90
107+ materials: [
108+ DefaultMaterial {
109+ diffuseColor: Qt .rgba (0. , 0.0 , 0.8 , 1.0 )
110+ }
111+ ]
112+ }
113+
114+ Model {
115+ source: " #Sphere"
116+ scale: Qt .vector3d (0.1 , 0.1 , 0.1 )
117+ materials: [
118+ DefaultMaterial {
119+ diffuseColor: Qt .rgba (0.0 , 0.8 , 0.0 , 0.2 )
120+ }
121+ ]
122+ }
123+
124+ RobotModelNode {
125+ id: robot
126+ client: root .client
127+ }
128+
129+ eulerRotation .x : - 90
130+ eulerRotation .y : 90
131+
132+ // CustomMesh {
133+ // // name: modelData.linkName
134+ // // type: modelData.type
135+ // meshUri: 'package://kyon_urdf/meshes/collision/mesh_pelvis.stl'
136+ // // meshUri: '#Cube'
137+ // // scale: Qt.vector3d(0.001, 0.001, 0.001)
138+
139+ // // cylinderLength: modelData.length || 0
140+ // // cylinderRadius: modelData.radius || 0
141+ // // scale: modelData.scale
142+ // // localPosition: modelData.origin_xyz
143+ // // localRotation: modelData.origin_rot
144+ // // color: root.color
145+ // // alpha: root.alpha
146+ // // visible: root.visible
147+ // client: root.client
148+ // }
149+
150+
114151 }
152+
115153 }
116154
117155 View3D {
@@ -122,9 +160,11 @@ Item {
122160
123161 OrbitCameraController {
124162 camera: cameraPerspectiveTwo
125- origin: standAloneScene
163+ origin: originNode
126164 anchors .fill : parent
127165 }
166+
167+
128168 }
129169}
130170
0 commit comments