Example #1
0
    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();
    }
Example #4
0
    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);
        }
    }