288 lines
11 KiB
TypeScript
288 lines
11 KiB
TypeScript
![]() |
import * as THREE from 'three';
|
||
|
const ColorPalette = [
|
||
|
[255, 0, 0, 255], //----- 0 - lets make it red for an example
|
||
|
//[255, 255, 255, 255],//----- 0 - ByBlock - White
|
||
|
[255, 0, 0, 255], //----- 1 - Red
|
||
|
// [255, 0, 0, 255], //----- 1 - Red
|
||
|
[255, 255, 0, 255], //----- 2 - Yellow
|
||
|
[0, 255, 0, 255], //----- 3 - Green
|
||
|
[0, 255, 255, 255], //----- 4 - Cyan
|
||
|
[0, 0, 255, 255], //----- 5 - Blue
|
||
|
[255, 0, 255, 255], //----- 6 - Magenta
|
||
|
// [255, 0, 0, 255], //----- 7 - More red Red
|
||
|
// [255, 0, 0, 255], //----- 8 - More red Red
|
||
|
// [255, 0, 0, 255], //----- 9 - More red Red
|
||
|
[255, 255, 255, 255],//----- 7 - White
|
||
|
[255, 255, 255, 255],//----- 8
|
||
|
[255, 255, 255, 255],//----- 9
|
||
|
[255, 0, 0, 255], //----- 10
|
||
|
[255, 127, 127, 255],//----- 11
|
||
|
[165, 0, 0, 255], //----- 12
|
||
|
[165, 82, 82, 255], //----- 13
|
||
|
[127, 0, 0, 255], //----- 14
|
||
|
[127, 63, 63, 255], //----- 15
|
||
|
[76, 0, 0, 255], //----- 16
|
||
|
[76, 38, 38, 255], //----- 17
|
||
|
[38, 0, 0, 255], //----- 18
|
||
|
[38, 19, 19, 255], //----- 19
|
||
|
[255, 63, 0, 255], //----- 20
|
||
|
[255, 159, 127, 255],//----- 21
|
||
|
[165, 41, 0, 255], //----- 22
|
||
|
[165, 103, 82, 255], //----- 23
|
||
|
[127, 31, 0, 255], //----- 24
|
||
|
[127, 79, 63, 255], //----- 25
|
||
|
[76, 19, 0, 255], //----- 26
|
||
|
[76, 47, 38, 255], //----- 27
|
||
|
[38, 9, 0, 255], //----- 28
|
||
|
[38, 23, 19, 255], //----- 29
|
||
|
[255, 127, 0, 255], //----- 30
|
||
|
[255, 191, 127, 255],//----- 31
|
||
|
[165, 82, 0, 255], //----- 32
|
||
|
[165, 124, 82, 255], //----- 33
|
||
|
[127, 63, 0, 255], //----- 34
|
||
|
[127, 95, 63, 255], //----- 35
|
||
|
[76, 38, 0, 255], //----- 36
|
||
|
[76, 57, 38, 255], //----- 37
|
||
|
[38, 19, 0, 255], //----- 38
|
||
|
[38, 28, 19, 255], //----- 39
|
||
|
[255, 191, 0, 255], //----- 40
|
||
|
[255, 223, 127, 255],//----- 41
|
||
|
[165, 124, 0, 255], //----- 42
|
||
|
[165, 145, 82, 255], //----- 43
|
||
|
[127, 95, 0, 255], //----- 44
|
||
|
[127, 111, 63, 255], //----- 45
|
||
|
[76, 57, 0, 255], //----- 46
|
||
|
[76, 66, 38, 255], //----- 47
|
||
|
[38, 28, 0, 255], //----- 48
|
||
|
[38, 33, 19, 255], //----- 49
|
||
|
[255, 255, 0, 255], //----- 50
|
||
|
[255, 255, 127, 255],//----- 51
|
||
|
[165, 165, 0, 255], //----- 52
|
||
|
[165, 165, 82, 255], //----- 53
|
||
|
[127, 127, 0, 255], //----- 54
|
||
|
[127, 127, 63, 255], //----- 55
|
||
|
[76, 76, 0, 255], //----- 56
|
||
|
[76, 76, 38, 255], //----- 57
|
||
|
[38, 38, 0, 255], //----- 58
|
||
|
[38, 38, 19, 255], //----- 59
|
||
|
[191, 255, 0, 255], //----- 60
|
||
|
[223, 255, 127, 255],//----- 61
|
||
|
[124, 165, 0, 255], //----- 62
|
||
|
[145, 165, 82, 255], //----- 63
|
||
|
[95, 127, 0, 255], //----- 64
|
||
|
[111, 127, 63, 255], //----- 65
|
||
|
[57, 76, 0, 255], //----- 66
|
||
|
[66, 76, 38, 255], //----- 67
|
||
|
[28, 38, 0, 255], //----- 68
|
||
|
[33, 38, 19, 255], //----- 69
|
||
|
[127, 255, 0, 255], //----- 70
|
||
|
[191, 255, 127, 255],//----- 71
|
||
|
[82, 165, 0, 255], //----- 72
|
||
|
[124, 165, 82, 255], //----- 73
|
||
|
[63, 127, 0, 255], //----- 74
|
||
|
[95, 127, 63, 255], //----- 75
|
||
|
[38, 76, 0, 255], //----- 76
|
||
|
[57, 76, 38, 255], //----- 77
|
||
|
[19, 38, 0, 255], //----- 78
|
||
|
[28, 38, 19, 255], //----- 79
|
||
|
[63, 255, 0, 255], //----- 80
|
||
|
[159, 255, 127, 255],//----- 81
|
||
|
[41, 165, 0, 255], //----- 82
|
||
|
[103, 165, 82, 255], //----- 83
|
||
|
[31, 127, 0, 255], //----- 84
|
||
|
[79, 127, 63, 255], //----- 85
|
||
|
[19, 76, 0, 255], //----- 86
|
||
|
[47, 76, 38, 255], //----- 87
|
||
|
[9, 38, 0, 255], //----- 88
|
||
|
[23, 38, 19, 255], //----- 89
|
||
|
[0, 255, 0, 255], //----- 90
|
||
|
[127, 255, 127, 255],//----- 91
|
||
|
[0, 165, 0, 255], //----- 92
|
||
|
[82, 165, 82, 255], //----- 93
|
||
|
[0, 127, 0, 255], //----- 94
|
||
|
[63, 127, 63, 255], //----- 95
|
||
|
[0, 76, 0, 255], //----- 96
|
||
|
[38, 76, 38, 255], //----- 97
|
||
|
[0, 38, 0, 255], //----- 98
|
||
|
[19, 38, 19, 255], //----- 99
|
||
|
[0, 255, 63, 255], //----- 100
|
||
|
[127, 255, 159, 255],//----- 101
|
||
|
[0, 165, 41, 255], //----- 102
|
||
|
[82, 165, 103, 255], //----- 103
|
||
|
[0, 127, 31, 255], //----- 104
|
||
|
[63, 127, 79, 255], //----- 105
|
||
|
[0, 76, 19, 255], //----- 106
|
||
|
[38, 76, 47, 255], //----- 107
|
||
|
[0, 38, 9, 255], //----- 108
|
||
|
[19, 38, 23, 255], //----- 109
|
||
|
[0, 255, 127, 255], //----- 110
|
||
|
[127, 255, 191, 255],//----- 111
|
||
|
[0, 165, 82, 255], //----- 112
|
||
|
[82, 165, 124, 255], //----- 113
|
||
|
[0, 127, 63, 255], //----- 114
|
||
|
[63, 127, 95, 255], //----- 115
|
||
|
[0, 76, 38, 255], //----- 116
|
||
|
[38, 76, 57, 255], //----- 117
|
||
|
[0, 38, 19, 255], //----- 118
|
||
|
[19, 38, 28, 255], //----- 119
|
||
|
[0, 255, 191, 255], //----- 120
|
||
|
[127, 255, 223, 255],//----- 121
|
||
|
[0, 165, 124, 255], //----- 122
|
||
|
[82, 165, 145, 255], //----- 123
|
||
|
[0, 127, 95, 255], //----- 124
|
||
|
[63, 127, 111, 255], //----- 125
|
||
|
[0, 76, 57, 255], //----- 126
|
||
|
[38, 76, 66, 255], //----- 127
|
||
|
[0, 38, 28, 255], //----- 128
|
||
|
[19, 38, 33, 255], //----- 129
|
||
|
[0, 255, 255, 255], //----- 130
|
||
|
[127, 255, 255, 255],//----- 131
|
||
|
[0, 165, 165, 255], //----- 132
|
||
|
[82, 165, 165, 255], //----- 133
|
||
|
[0, 127, 127, 255], //----- 134
|
||
|
[63, 127, 127, 255], //----- 135
|
||
|
[0, 76, 76, 255], //----- 136
|
||
|
[38, 76, 76, 255], //----- 137
|
||
|
[0, 38, 38, 255], //----- 138
|
||
|
[19, 38, 38, 255], //----- 139
|
||
|
[0, 191, 255, 255], //----- 140
|
||
|
[127, 223, 255, 255],//----- 141
|
||
|
[0, 124, 165, 255], //----- 142
|
||
|
[82, 145, 165, 255], //----- 143
|
||
|
[0, 95, 127, 255], //----- 144
|
||
|
[63, 111, 127, 255], //----- 145
|
||
|
[0, 57, 76, 255], //----- 146
|
||
|
[38, 66, 76, 255], //----- 147
|
||
|
[0, 28, 38, 255], //----- 148
|
||
|
[19, 33, 38, 255], //----- 149
|
||
|
[0, 127, 255, 255], //----- 150
|
||
|
[127, 191, 255, 255],//----- 151
|
||
|
[0, 82, 165, 255], //----- 152
|
||
|
[82, 124, 165, 255], //----- 153
|
||
|
[0, 63, 127, 255], //----- 154
|
||
|
[63, 95, 127, 255], //----- 155
|
||
|
[0, 38, 76, 255], //----- 156
|
||
|
[38, 57, 76, 255], //----- 157
|
||
|
[0, 19, 38, 255], //----- 158
|
||
|
[19, 28, 38, 255], //----- 159
|
||
|
[0, 63, 255, 255], //----- 160
|
||
|
[127, 159, 255, 255],//----- 161
|
||
|
[0, 41, 165, 255], //----- 162
|
||
|
[82, 103, 165, 255], //----- 163
|
||
|
[0, 31, 127, 255], //----- 164
|
||
|
[63, 79, 127, 255], //----- 165
|
||
|
[0, 19, 76, 255], //----- 166
|
||
|
[38, 47, 76, 255], //----- 167
|
||
|
[0, 9, 38, 255], //----- 168
|
||
|
[19, 23, 38, 255], //----- 169
|
||
|
[0, 0, 255, 255], //----- 170
|
||
|
[127, 127, 255, 255],//----- 171
|
||
|
[0, 0, 165, 255], //----- 172
|
||
|
[82, 82, 165, 255], //----- 173
|
||
|
[0, 0, 127, 255], //----- 174
|
||
|
[63, 63, 127, 255], //----- 175
|
||
|
[0, 0, 76, 255], //----- 176
|
||
|
[38, 38, 76, 255], //----- 177
|
||
|
[0, 0, 38, 255], //----- 178
|
||
|
[19, 19, 38, 255], //----- 179
|
||
|
[63, 0, 255, 255], //----- 180
|
||
|
[159, 127, 255, 255],//----- 181
|
||
|
[41, 0, 165, 255], //----- 182
|
||
|
[103, 82, 165, 255], //----- 183
|
||
|
[31, 0, 127, 255], //----- 184
|
||
|
[79, 63, 127, 255], //----- 185
|
||
|
[19, 0, 76, 255], //----- 186
|
||
|
[47, 38, 76, 255], //----- 187
|
||
|
[9, 0, 38, 255], //----- 188
|
||
|
[23, 19, 38, 255], //----- 189
|
||
|
[127, 0, 255, 255], //----- 190
|
||
|
[191, 127, 255, 255],//----- 191
|
||
|
[82, 0, 165, 255], //----- 192
|
||
|
[124, 82, 165, 255], //----- 193
|
||
|
[63, 0, 127, 255], //----- 194
|
||
|
[95, 63, 127, 255], //----- 195
|
||
|
[38, 0, 76, 255], //----- 196
|
||
|
[57, 38, 76, 255], //----- 197
|
||
|
[19, 0, 38, 255], //----- 198
|
||
|
[28, 19, 38, 255], //----- 199
|
||
|
[191, 0, 255, 255], //----- 200
|
||
|
[223, 127, 255, 255],//----- 201
|
||
|
[124, 0, 165, 255], //----- 202
|
||
|
[145, 82, 165, 255], //----- 203
|
||
|
[95, 0, 127, 255], //----- 204
|
||
|
[111, 63, 127, 255], //----- 205
|
||
|
[57, 0, 76, 255], //----- 206
|
||
|
[66, 38, 76, 255], //----- 207
|
||
|
[28, 0, 38, 255], //----- 208
|
||
|
[33, 19, 38, 255], //----- 209
|
||
|
[255, 0, 255, 255], //----- 210
|
||
|
[255, 127, 255, 255],//----- 211
|
||
|
[165, 0, 165, 255], //----- 212
|
||
|
[165, 82, 165, 255], //----- 213
|
||
|
[127, 0, 127, 255], //----- 214
|
||
|
[127, 63, 127, 255], //----- 215
|
||
|
[76, 0, 76, 255], //----- 216
|
||
|
[76, 38, 76, 255], //----- 217
|
||
|
[38, 0, 38, 255], //----- 218
|
||
|
[38, 19, 38, 255], //----- 219
|
||
|
[255, 0, 191, 255], //----- 220
|
||
|
[255, 127, 223, 255],//----- 221
|
||
|
[165, 0, 124, 255], //----- 222
|
||
|
[165, 82, 145, 255], //----- 223
|
||
|
[127, 0, 95, 255], //----- 224
|
||
|
[127, 63, 111, 255], //----- 225
|
||
|
[76, 0, 57, 255], //----- 226
|
||
|
[76, 38, 66, 255], //----- 227
|
||
|
[38, 0, 28, 255], //----- 228
|
||
|
[38, 19, 33, 255], //----- 229
|
||
|
[255, 0, 127, 255], //----- 230
|
||
|
[255, 127, 191, 255],//----- 231
|
||
|
[165, 0, 82, 255], //----- 232
|
||
|
[165, 82, 124, 255], //----- 233
|
||
|
[127, 0, 63, 255], //----- 234
|
||
|
[127, 63, 95, 255], //----- 235
|
||
|
[76, 0, 38, 255], //----- 236
|
||
|
[76, 38, 57, 255], //----- 237
|
||
|
[38, 0, 19, 255], //----- 238
|
||
|
[38, 19, 28, 255], //----- 239
|
||
|
[255, 0, 63, 255], //----- 240
|
||
|
[255, 127, 159, 255],//----- 241
|
||
|
[165, 0, 41, 255], //----- 242
|
||
|
[165, 82, 103, 255], //----- 243
|
||
|
[127, 0, 31, 255], //----- 244
|
||
|
[127, 63, 79, 255], //----- 245
|
||
|
[76, 0, 19, 255], //----- 246
|
||
|
[76, 38, 47, 255], //----- 247
|
||
|
[38, 0, 9, 255], //----- 248
|
||
|
[38, 19, 23, 255], //----- 249
|
||
|
[84, 84, 84, 255], //----- 250
|
||
|
[118, 118, 118, 255],//----- 251
|
||
|
[152, 152, 152, 255],//----- 252
|
||
|
[186, 186, 186, 255],//----- 253
|
||
|
[220, 220, 220, 255],//----- 254
|
||
|
[255, 255, 255, 255],//----- 255
|
||
|
[255, 255, 255, 255] //----- ByLayer - White
|
||
|
];
|
||
|
|
||
|
|
||
|
//颜色材质,对于二维图像来说可能有用,应该不对三维对象使用该材质
|
||
|
export class ColorMaterial
|
||
|
{
|
||
|
private constructor() { }
|
||
|
private static m_LineMaterialMap = new Map<number, THREE.LineBasicMaterial>();
|
||
|
static GetLineMaterial(index): THREE.LineBasicMaterial
|
||
|
{
|
||
|
if (this.m_LineMaterialMap.has(index))
|
||
|
return this.m_LineMaterialMap.get(index);
|
||
|
let mat = new THREE.LineBasicMaterial({ color: this.GetColor(index) });
|
||
|
this.m_LineMaterialMap.set(index, mat);
|
||
|
return mat;
|
||
|
}
|
||
|
|
||
|
static GetColor(index: number)
|
||
|
{
|
||
|
let rgb = ColorPalette[index];
|
||
|
if (rgb)
|
||
|
return new THREE.Color(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255);
|
||
|
}
|
||
|
}
|