public void ShouldCreateQuad() { Vector3[] linePoints = { new Vector3(0, 0, 0), new Vector3(0, 0, 1) }; var result = LineMeshMaker.Build(linePoints, Width, Sections); Assert.IsTrue(IsQuad(result.vertices)); }
/* * /* * public void CompleteCreation() * { * NodeCollidersEnabled = true; * ResizeCentreNodeActivatorCollider(); * } #1# * * public void MoveEndNode(Vector3 newNodePosition, GameObject nodeToMove = null) * { * nodeToMove = nodeToMove == null ? lineBehaviour.EndNode : nodeToMove; * * GameObject otherNode = * nodeToMove != lineBehaviour.EndNode ? lineBehaviour.EndNode : lineBehaviour.OriginNode; * Quaternion otherNodeWorldRotation = otherNode.transform.rotation; * Vector3 otherNodeWorldPosition = otherNode.transform.position; * Vector3 midWayPoint = Vector3.Lerp(newNodePosition, otherNodeWorldPosition, 0.5f); * LineObject.transform.position = midWayPoint; * LineObject.transform.LookAt(newNodePosition); * * otherNode.transform.position = otherNodeWorldPosition; * otherNode.transform.rotation = otherNodeWorldRotation; * Debug.DrawLine(otherNodeWorldPosition, otherNodeWorldPosition + otherNode.transform.forward, Color.magenta); * nodeToMove.transform.position = newNodePosition; * nodeToMove.transform.rotation = LineObject.transform.rotation; * * centreNodeIsNoneCentre = true; * * //UpdateKnots(); * }*/ /* * public void UpdateKnots(float3x4 curve, float knotSpacing) * { * int numberOfKnots = (int)math.ceil(Length / knotSpacing) + 2; * SplineKnots = new float3 [numberOfKnots]; * * float3 knotStart = lineBehaviour.OriginNode.transform.localPosition; * float3 knotEnd = lineBehaviour.EndNode.transform.localPosition; * * Debug.DrawLine(lineBehaviour.transform.TransformPoint(knotStart), * lineBehaviour.transform.TransformPoint(knotStart) + Vector3.up, Color.cyan, 0.25f); * Debug.DrawLine(lineBehaviour.transform.TransformPoint(knotEnd), * lineBehaviour.transform.TransformPoint(knotEnd) + Vector3.up, Color.cyan, 0.25f); * * for (int i = 0; i < numberOfKnots; i++) * { * * /*float3x4 curve = new float3x4 * { * c0 = knotStart, * c1 = math.lerp(knotStart, knotEnd, 0.33f) + (float3)Vector3.left, * c2 = math.lerp(knotStart, knotEnd, 0.66f) + (float3)Vector3.left, * c3 = knotEnd * };#1# * float3 knot = Bezier.GetVectorOnCurve(curve, (float)i/(numberOfKnots - 1)); * SplineKnots[i] = knot; * Debug.DrawLine(lineBehaviour.transform.TransformPoint(knot), * lineBehaviour.transform.TransformPoint(knot) + Vector3.up, Color.yellow, 0.25f); * } * * } */ public void RebuildMesh() { /*meshFilter.sharedMesh = LineMeshMaker.Build( * new[] { lineBehaviour.OriginNode.transform.localPosition, lineBehaviour.EndNode.transform.localPosition }, * lineBehaviour.Width, * 1);*/ meshFilter.sharedMesh = LineMeshMaker.Build( lineBehaviour.transform.InverseTransformDirection(lineBehaviour .OriginNode .transform .forward), lineBehaviour.transform.InverseTransformDirection(lineBehaviour .EndNode .transform .forward), // lineBehaviour.OriginNode.transform.forward, // lineBehaviour.EndNode.transform.forward, SplineKnots, lineBehaviour.Width ); }
public void WhenLessThan2Vectors_ShouldThrow() { Assert.Catch <ArgumentException>(() => LineMeshMaker.Build(new Vector3[] { }, Width, Sections)); }