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; }