Пример #1
0
        public void IsTransformed_Default_False(Geometry geometry, Vector3 scale, GeometryTypes type)
        {
            var parent = new GameObject("Parent").transform;

            Assert.IsFalse(UrdfGeometry.IsTransformed(parent, UrdfGeometry.GetGeometryType(geometry)));

            Object.DestroyImmediate(parent.gameObject);
        }
Пример #2
0
        public void IsTransformed_Rotation_True(Geometry geometry, Vector3 scale, GeometryTypes type)
        {
            var parent = new GameObject("Parent").transform;

            parent.localRotation = Quaternion.Euler(0, 30, 0);
            Assert.IsTrue(UrdfGeometry.IsTransformed(parent, UrdfGeometry.GetGeometryType(geometry)));

            Object.DestroyImmediate(parent.gameObject);
        }
Пример #3
0
        public void IsTransformed_Scale_True(Geometry geometry, Vector3 scale, GeometryTypes type)
        {
            var parent = new GameObject("Parent").transform;

            parent.localScale = Vector3.one * 2f;
            Assert.IsTrue(UrdfGeometry.IsTransformed(parent, UrdfGeometry.GetGeometryType(geometry)));

            Object.DestroyImmediate(parent.gameObject);
        }
        private void DisplayWarnings()
        {
            if (!urdfVisual.transform.HasExactlyOneChild())
            {
                GUILayout.Space(5);
                EditorGUILayout.HelpBox("Visual element must have one and only one child Geometry element.", MessageType.Error);
            }
            else if (UrdfGeometry.IsTransformed(urdfVisual.transform.GetChild(0), urdfVisual.geometryType))
            {
                GUILayout.Space(5);
                EditorGUILayout.HelpBox("Changes to the transform of the child Geometry element cannot be exported to URDF. " +
                                        "Make any translation, rotation, or scale changes to this Visual object instead.", MessageType.Error);

                if (GUILayout.Button("Fix transformations"))
                {
                    bool transferRotation = urdfVisual.geometryType != GeometryTypes.Mesh;
                    urdfVisual.transform.MoveChildTransformToParent(transferRotation);
                }
            }
        }