void DebugPenPathToLineMesh(PenDrawingPath penPath) { GameObject go = new GameObject("penPathMeshDisplay" + UnityEngine.Random.Range(0f, 999999999f)); go.transform.position = pixelTreeDebugDisplay.transform.position + Vector3.back * 5f; MeshRenderer meshRenderer = go.AddComponent <MeshRenderer>(); MeshFilter filter = go.AddComponent <MeshFilter>(); meshRenderer.material = pixelTreeDebugDisplay.GetComponent <MeshRenderer>().sharedMaterial; // use pixel tree mesh material go.GetComponent <MeshFilter>().mesh = penPath.ToMesh((float)machineConfig.toolDiameterMM, dbugSettings.drawTravelMoves); }
private void lineRenderPenPath(PenDrawingPath path, GameObject go = null) { if (lineRendererLimit-- <= 0) { return; } SCPathDisplay display = Instantiate(pathDisplayPrefab); // go.AddComponent<SCPathDisplay>(); display.color = testColor; display.transform.parent = go? go.transform : transform; display.display(path); }
public void display(PenDrawingPath penPath) { lr.positionCount = penPath.Count; //lr.widthMultiplier = widthMult; //lr.widthCurve = widthCurve; for (int i = 0; i < penPath.Count; ++i) { PenMove move = penPath[i]; if (move.hasColor) { color = move.color; } if (move.text != null) { textAt(move.destination, move.text); } lr.SetPosition(i, move.destination); } }
private void DrawPath(PenDrawingPath path) { List <PenMove> moves = path.GetMoves().ToList(); if (moves.Count == 0) { return; } PenMove last = moves[0]; PenMove next; for (int i = 1; i < moves.Count; ++i) { next = moves[i]; if (!next.up || dbugSettings.drawTravelMoves) { DrawLine(last.destination, next.destination); } last = next; } }