37 float[] colors =
new float[size * 4];
38 for (
int i = 0; i < colors.length; i += 4) {
55 float[] colors =
new float[fieldValues.length * 4];
56 float min = getMin(fieldValues);
57 float max = getMax(fieldValues);
60 for (
int i = 0; i < fieldValues.length; i++) {
61 float tmpvar = (fieldValues[i] - min) / (max - min);
62 if (tmpvar <= 0.125f) {
63 colors[i * 4 + 0] = 0.0f;
64 colors[i * 4 + 1] = 0.0f;
65 colors[i * 4 + 2] = 0.5f + tmpvar / 0.25f;
68 if ((tmpvar > 0.125f) && (tmpvar <= 0.375f)) {
69 colors[i * 4 + 0] = 0.0f;
70 colors[i * 4 + 1] = 0.0f + (tmpvar - 0.125f) / 0.25f;
71 colors[i * 4 + 2] = 1.0f;
74 if ((tmpvar > 0.375f) && (tmpvar <= 0.625f)) {
75 colors[i * 4 + 0] = 0.0f + (tmpvar - 0.375f) / 0.25f;
76 colors[i * 4 + 1] = 1.0f;
77 colors[i * 4 + 2] = 1.0f - (tmpvar - 0.375f) / 0.25f;
80 if ((tmpvar > 0.625f) && (tmpvar <= 0.875f)) {
81 colors[i * 4 + 0] = 1.0f;
82 colors[i * 4 + 1] = 1.0f - (tmpvar - 0.625f) / 0.25f;
83 colors[i * 4 + 2] = 0.0f;
86 if (tmpvar > 0.875f) {
87 colors[i * 4 + 0] = 1.0f - (tmpvar - 0.875f) / 0.25f;
88 colors[i * 4 + 1] = 0.0f;
89 colors[i * 4 + 2] = 0.0f;
96 private float getMin(
float[] values) {
97 float min = values[0];
98 for (
int j = 0; j < values.length; j++) {
99 min = (min > values[j]) ? values[j] : min;
104 private float getMax(
float[] values) {
105 float min = values[0];
106 for (
int j = 0; j < values.length; j++) {
107 min = (min < values[j]) ? values[j] : min;
float alphaValue
default alpha value, use 1.0f for nonblend rendering
float[] getDefaultColor(int size)
Returns an array with "size" default colors (effectively 4*size RGBT values)
float[] computeColors(float[] fieldValues)
Computes a 4-tuple color array with values R, G, B, Alpha for the given field values.
ColorMap ColorMap
The color map to use.
The color generator is used to produce RGBA (RGB+Alpha) values from a given array of floats...
Interface for different colorizations.