public void AddMono(Measurement3D measurement) { GameObject obj = new GameObject("Measurement " + Monos.Count); MonoMeasurement3D mono = (obj.AddComponent <MonoMeasurement3D>()); mono.SetSize(measurement.Transparency); obj.transform.parent = transform; Monos.Add(mono); }
private void SetPoints() { lastMidpoint = Midpoint(); size = Mathf.Min(dx, dy, dz) / 4f; width = 2 * gridRadius + 1; while (gridPoints.Count > width * width * width) { Destroy(gridPoints[0].gameObject); gridPoints.RemoveAt(0); } for (int z = -gridRadius; z <= gridRadius; z++) { for (int y = -gridRadius; y <= gridRadius; y++) { for (int x = -gridRadius; x <= gridRadius; x++) { int i = (x + gridRadius); i += (y + gridRadius) * width; i += (z + gridRadius) * width * width; if (i >= gridPoints.Count) { GameObject obj = new GameObject("Mono Measurement (" + i + ")"); MonoMeasurement3D mono = obj.AddComponent <MonoMeasurement3D>(); mono.SetSize(size); mono.SetMeasurement(new Measurement3D(0, 0, 0, true), false); obj.transform.parent = transform; gridPoints.Add(mono); } Vector3 v = new Vector3(lastMidpoint.x + x * dx, lastMidpoint.y + y * dy, lastMidpoint.z + z * dz); if (measurementPlacer.Contains(v)) { gridPoints[i].gameObject.SetActive(false); } else { gridPoints[i].SetMeasurement(new Measurement3D(v, true), true); gridPoints[i].gameObject.SetActive(true); } } } } }
// Use this for initialization void Start() { measurements = new List <MonoMeasurement3D>(); lastMidpoint = Midpoint(); float size = Mathf.Min(dx, dy, dz) / 4f; for (int i = 0; i < 125; i++) { GameObject obj = new GameObject("Mono Measurement (" + i + ")"); MonoMeasurement3D mono = obj.AddComponent <MonoMeasurement3D>(); mono.SetSize(size); mono.SetMeasurement(new Measurement3D(0, 0, 0, true), false); obj.transform.parent = transform; measurements.Add(mono); } SetPoints(); }
private void RenderMeasurements() { float size = Triangulation.AverageDistance * 0.1f; for (int i = 0; i < Triangulation.Measurements.Count; i++) { while (i >= measurements.Count) { GameObject obj = new GameObject("Measurement " + i); MonoMeasurement3D mono = (obj.AddComponent <MonoMeasurement3D>()); measurements.Add(mono); mono.SetSize(size); obj.transform.parent = measurementsContainer.transform; } measurements[i].SetMeasurement(Triangulation.Measurements[i], false); measurements[i].gameObject.SetActive(true); } }