Wire3D.WireVertex [] getReversedArray() // transparency looks better when reversed { Wire3D.WireVertex[] res = new Wire3D.WireVertex[verts.Count]; for (int i = 0; i < res.Length; i++) { res[res.Length - i - 1] = verts[i]; } return(res); }
public bool StepSimulation(out Vector3 headLocation, out int gcodeLine) { simLocPart += simSpeed; while (simLocPart > simTargetDist) { if (simLocation >= verts.Count) { headLocation = simTargetPos; gcodeLine = simGcodeLine; return(true); // simulation ended } simLocPart -= simTargetDist; simStartSeg = simTargetPos; Wire3D.WireVertex vert = verts[simLocation]; simTargetPos = new Vector3(vert.x, vert.y, vert.z); simGcodeLine = (int)(vert.index + 0.2); simDir = simTargetPos - simStartSeg; simTargetDist = simDir.Length; simLocation++; } headLocation = simStartSeg + (simLocPart / simTargetDist) * simDir; gcodeLine = simGcodeLine; return(false); }