Beispiel #1
0
    public void setDataDimension(float[] dat, VIEW_DIMENSION dimension)
    {
        float minValue = dat.Min();
        float maxValue = dat.Max();

        for (int i = 0; i < dat.Length; i++)
        {
            Vector3 p = positions[i];

            switch (dimension)
            {
            case VIEW_DIMENSION.X:
                p.x = UtilMath.normaliseValue(dat[i], minValue, maxValue, -0.5f, 0.5f);
                break;

            case VIEW_DIMENSION.Y:
                p.y = UtilMath.normaliseValue(dat[i], minValue, maxValue, -0.5f, 0.5f);
                break;

            case VIEW_DIMENSION.Z:
                p.z = UtilMath.normaliseValue(dat[i], minValue, maxValue, -0.5f, 0.5f);
                break;
            }
            positions[i] = p;
        }
    }
        /// <summary>
        /// Sets the data dimension.
        /// </summary>
        /// <param name="data">Data.</param>
        /// <param name="dimension">Dimension.</param>
        public ViewBuilder setDataDimension(float[] data, VIEW_DIMENSION dimension)
        {
            Debug.Assert((int)dimension < 3);
            Debug.Assert(data.Length <= positions.Count);

            float minValue = data.Min();
            float maxValue = data.Max();

            for (int i = 0; i < data.Length; i++)
            {
                Vector3 p = positions[i];
                Vector3 n = normals[i];

                p[(int)dimension] = data[i];
                n[(int)dimension] = data[i];

                positions[i] = p;
                normals[i] = n;
            }

            return this;
        }