Version 2.1.2: Python bindings, OBJ assets support, bugfixes.
PiperOrigin-RevId: 434731612 Change-Id: I0cfda3e7a3d1c72036764986efc252ffa1b8c6b0
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
// Copyright 2019 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Mujoco {
|
||||
[TestFixture]
|
||||
public class MjFixedTendonTests {
|
||||
private MjHingeJoint _joint1;
|
||||
private MjHingeJoint _joint2;
|
||||
private MjFixedTendon _tendon;
|
||||
private XmlDocument _doc;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp() {
|
||||
_joint1 = new GameObject("joint1").AddComponent<MjHingeJoint>();
|
||||
_joint2 = new GameObject("joint2").AddComponent<MjHingeJoint>();
|
||||
_tendon = new GameObject("tendon").AddComponent<MjFixedTendon>();
|
||||
_doc = new XmlDocument();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown() {
|
||||
UnityEngine.Object.DestroyImmediate(_tendon.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(_joint1.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(_joint2.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(MjScene.Instance);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ParseAllSettings() {
|
||||
_doc.LoadXml("<fixed range='3 4'>" + "<joint joint='joint1' coef='1'/>" +
|
||||
"<joint joint='joint2' coef='2'/>" + "</fixed>");
|
||||
_tendon.ParseMjcf(_doc.GetElementsByTagName("fixed")[0] as XmlElement);
|
||||
Assert.That(_tendon.RangeLower, Is.EqualTo(3));
|
||||
Assert.That(_tendon.RangeUpper, Is.EqualTo(4));
|
||||
Assert.That(_tendon.JointList.Count, Is.EqualTo(2));
|
||||
Assert.That(_tendon.JointList[0].Joint, Is.EqualTo(_joint1));
|
||||
Assert.That(_tendon.JointList[0].Coefficient, Is.EqualTo(1.0f));
|
||||
Assert.That(_tendon.JointList[1].Joint, Is.EqualTo(_joint2));
|
||||
Assert.That(_tendon.JointList[1].Coefficient, Is.EqualTo(2.0f));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 839d86acac1494dba9a7617f96ba27df
|
||||
timeCreated: 1550658312
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,56 @@
|
||||
// Copyright 2019 DeepMind Technologies Limited
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Mujoco {
|
||||
[TestFixture]
|
||||
public class MjSpatialTendonTests {
|
||||
private MjSite _site1;
|
||||
private MjSite _site2;
|
||||
private MjSpatialTendon _tendon;
|
||||
private XmlDocument _doc;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp() {
|
||||
_site1 = new GameObject("site1").AddComponent<MjSite>();
|
||||
_site2 = new GameObject("site2").AddComponent<MjSite>();
|
||||
_tendon = new GameObject("tendon").AddComponent<MjSpatialTendon>();
|
||||
_doc = new XmlDocument();
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown() {
|
||||
UnityEngine.Object.DestroyImmediate(_tendon.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(_site1.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(_site2.gameObject);
|
||||
UnityEngine.Object.DestroyImmediate(MjScene.Instance);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ParseAllSettings() {
|
||||
_doc.LoadXml("<spatial>" + "<site site='site1'/>" +
|
||||
"<site site='site2'/>" + "</spatial>");
|
||||
_tendon.ParseMjcf(_doc.GetElementsByTagName("spatial")[0] as XmlElement);
|
||||
Assert.That(_tendon.ViapointsList.Count, Is.EqualTo(2));
|
||||
Assert.That(_tendon.ViapointsList[0].Site, Is.EqualTo(_site1));
|
||||
Assert.That(_tendon.ViapointsList[1].Site, Is.EqualTo(_site2));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8324e6aceb78a067801d2bc304e4a27
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user