Exemple #1
0
        public void ExportGeometryData_MeshUnityDecomposer_DefaultGeometry()
        {
            // Force runtime mode to set testing package root
            RuntimeUrdf.runtimeModeEnabled = true;
            UrdfAssetPathHandler.SetPackageRoot("Packages/com.unity.robotics.urdf-importer/Tests/Runtime/Assets/URDF/cube/");
            RuntimeUrdf.runtimeModeEnabled     = false;
            UrdfRobotExtensions.importsettings = ImportSettings.DefaultSettings();
            UrdfRobotExtensions.importsettings.convexMethod = ImportSettings.convexDecomposer.unity;

            var    parent       = new GameObject("Parent").transform;
            string path         = "package://meshes/cube.stl";
            var    meshGeometry = new Geometry(mesh: new Mesh(path, new double[] { 1, 1, 1 }));

            UrdfCollisionExtensions.Create(parent, new Collision(meshGeometry));

            UrdfExportPathHandler.SetExportPath("Assets");
            var t      = parent.GetComponentInChildren <UrdfCollision>().transform.GetChild(0);
            var export = UrdfGeometry.ExportGeometryData(GeometryTypes.Mesh, t);

            Assert.IsNotNull(export);

            Object.DestroyImmediate(parent.gameObject);
            List <string> outFailedPaths = new List <string>();

            AssetDatabase.DeleteAssets(new string[] { "Assets/meshes" }, outFailedPaths);
        }
Exemple #2
0
        public void ExportGeometryData_Sphere_DefaultGeometry()
        {
            var parent = new GameObject("Parent").transform;

            UrdfGeometryCollision.Create(parent, GeometryTypes.Sphere);
            var t      = parent.Find("Sphere");
            var export = UrdfGeometry.ExportGeometryData(GeometryTypes.Sphere, t);

            Assert.IsNotNull(export);
            Assert.AreEqual(0.5, export.sphere.radius);
            Assert.AreEqual(typeof(Sphere), export.sphere.GetType());
            Assert.IsNull(export.box);
            Assert.IsNull(export.cylinder);
            Assert.IsNull(export.mesh);

            Object.DestroyImmediate(parent.gameObject);
        }
Exemple #3
0
        public void ExportGeometryData_Box_DefaultGeometry()
        {
            var parent = new GameObject("Parent").transform;

            UrdfGeometryCollision.Create(parent, GeometryTypes.Box);
            var t      = parent.Find("Box");
            var export = UrdfGeometry.ExportGeometryData(GeometryTypes.Box, t);

            Assert.IsNotNull(export);
            Assert.AreEqual(new double[] { 1, 1, 1 }, export.box.size);
            Assert.AreEqual(typeof(Box), export.box.GetType());
            Assert.IsNull(export.cylinder);
            Assert.IsNull(export.sphere);
            Assert.IsNull(export.mesh);

            Object.DestroyImmediate(parent.gameObject);
        }
Exemple #4
0
        public void ExportGeometryData_Cylinder_DefaultGeometry()
        {
            // Force runtime mode to avoid creating asset file
            RuntimeUrdf.runtimeModeEnabled = true;
            var parent = new GameObject("Parent").transform;

            UrdfGeometryCollision.Create(parent, GeometryTypes.Cylinder);

            var t      = parent.Find("Cylinder");
            var export = UrdfGeometry.ExportGeometryData(GeometryTypes.Cylinder, t);

            Assert.IsNotNull(export);
            Assert.AreEqual(0.5, export.cylinder.radius);
            Assert.AreEqual(2, export.cylinder.length);
            Assert.AreEqual(typeof(Cylinder), export.cylinder.GetType());
            Assert.IsNull(export.box);
            Assert.IsNull(export.sphere);
            Assert.IsNull(export.mesh);

            Object.DestroyImmediate(parent.gameObject);
        }