public void GetData_Rotation() { this.RibbonSketchObject.transform.rotation = Quaternion.Euler(20, 40, 60); RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; Assert.That(data.Rotation, Is.EqualTo(Quaternion.Euler(20, 40, 60)).Using(QuaternionEqualityComparer.Instance)); }
public void ApplyData_Scale() { RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; data.Scale = new Vector3(1, 2, 3); (this.RibbonSketchObject as ISerializableComponent).ApplyData(data); Assert.AreEqual(new Vector3(1, 2, 3), this.RibbonSketchObject.transform.localScale); }
public void ApplyData_Position() { RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; data.Position = new Vector3(1, 2, 3); (this.RibbonSketchObject as ISerializableComponent).ApplyData(data); Assert.AreEqual(new Vector3(1, 2, 3), this.RibbonSketchObject.transform.position); }
SerializableComponentData ISerializableComponent.GetData() { RibbonSketchObjectData ribbonData = new RibbonSketchObjectData(); ribbonData.ControlPoints = GetPoints(); ribbonData.ControlPointOrientations = GetRotations(); ribbonData.CrossSectionScale = RibbonMesh.Scale; ribbonData.CrossSectionVertices = RibbonMesh.GetCrossSection(); ribbonData.SetDataFromTransform(this.transform); ribbonData.SketchMaterial = new SketchMaterialData(meshRenderer.sharedMaterial); return(ribbonData); }
public void GetData_ControlPoints() { this.RibbonSketchObject.transform.rotation = Quaternion.identity; this.RibbonSketchObject.SetControlPoints( new List <Vector3> { new Vector3(1, 2, 3), new Vector3(3, 2, 1), new Vector3(1, 1, 1), new Vector3(2, 2, 2) }, new List <Quaternion> { Quaternion.Euler(0, 0, 0), Quaternion.Euler(0, 45, 0), Quaternion.Euler(25, 10, 5), Quaternion.Euler(0, 0, 35) } ); RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; Assert.AreEqual(new Vector3(1, 1, 1), data.ControlPoints[2]); Assert.AreEqual(Quaternion.Euler(25, 10, 5), data.ControlPointOrientations[2]); }
public void ApplyData_ControlPoints() { this.RibbonSketchObject.transform.rotation = Quaternion.identity; RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; data.ControlPoints = new List <Vector3> { new Vector3(1, 2, 3), new Vector3(3, 2, 1), new Vector3(1, 1, 1), new Vector3(2, 2, 2) }; data.ControlPointOrientations = new List <Quaternion> { Quaternion.Euler(0, 0, 0), Quaternion.Euler(0, 45, 0), Quaternion.Euler(25, 10, 5), Quaternion.Euler(0, 0, 35) }; (this.RibbonSketchObject as ISerializableComponent).ApplyData(data); Assert.AreEqual(new Vector3(1, 1, 1), this.RibbonSketchObject.GetPoints()[2]); Assert.That(this.RibbonSketchObject.GetRotations()[2], Is.EqualTo(Quaternion.Euler(25, 10, 5)).Using(QuaternionEqualityComparer.Instance)); Assert.AreEqual(4 * 3, this.RibbonSketchObject.GetComponent <MeshFilter>().sharedMesh.vertexCount); }
public void GetData_CrossSection() { this.RibbonSketchObject.SetControlPoints( new List <Vector3> { new Vector3(1, 2, 3), new Vector3(3, 2, 1), new Vector3(1, 1, 1), new Vector3(2, 2, 2) }, new List <Quaternion> { Quaternion.Euler(0, 0, 0), Quaternion.Euler(0, 45, 0), Quaternion.Euler(25, 10, 5), Quaternion.Euler(0, 0, 35) } ); this.RibbonSketchObject.SetCrossSection(new List <Vector3> { new Vector3(-.3f, 0, 0), new Vector3(.3f, 0, 0) }, Vector3.one); RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; Assert.AreEqual(new Vector3(.3f, 0, 0), data.CrossSectionVertices[1]); }
public void ApplyData_CrossSection() { this.RibbonSketchObject.transform.rotation = Quaternion.identity; RibbonSketchObjectData data = (this.RibbonSketchObject as ISerializableComponent).GetData() as RibbonSketchObjectData; data.ControlPoints = new List <Vector3> { new Vector3(1, 2, 3), new Vector3(3, 2, 1), new Vector3(1, 1, 1), new Vector3(2, 2, 2) }; data.ControlPointOrientations = new List <Quaternion> { Quaternion.Euler(0, 0, 0), Quaternion.Euler(0, 45, 0), Quaternion.Euler(25, 10, 5), Quaternion.Euler(0, 0, 35) }; data.CrossSectionVertices = new List <Vector3> { new Vector3(-.3f, 0, 0), new Vector3(.3f, 0, 0) }; (this.RibbonSketchObject as ISerializableComponent).ApplyData(data); Assert.AreEqual(4 * 2, this.RibbonSketchObject.GetComponent <MeshFilter>().sharedMesh.vertexCount); Assert.AreEqual(new Vector3(-.3f, 0, 0), this.RibbonSketchObject.GetCrossSection()[0]); }