@@ -17,15 +17,20 @@ import {
17
17
NodeOperation
18
18
} from '../NodeMesh' ;
19
19
20
+ import {
21
+ getColorMapTexture
22
+ } from '../utils/colormaps' ;
23
+
20
24
21
25
export
22
26
class IsoColor extends Effect {
23
27
24
- constructor ( parent : Block , input : Input , min : number , max : number ) {
28
+ constructor ( parent : Block , input : Input , min : number , max : number , colorMap : string = 'Black-Body Radiation' ) {
25
29
super ( parent , input ) ;
26
30
27
- const textureLoader = new THREE . TextureLoader ( ) ;
28
- this . textureNode = new Nodes . TextureNode ( textureLoader . load ( 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGMAAAABCAMAAAD92eD2AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAEsUExURUQCVUUGWUYKXUcNYEcRZEgVZ0gZa0gcbkgfcEgjdEgmdkgpeUcte0cvfUYzf0U2gUQ5g0M8hEI/hUFCh0BFiD9IiT5Lij1OijtRizpTizlWjDhajDZcjTVfjTRhjTJkjjFmjjBpji9sji5uji1xjixyjit1jip4jil6jih9jid/jiaCjiWEjiSGjiOJjiKLjSGOjSGRjCCSjB+Vix+Xix+aih6ciR+fiB+hhyCjhiGmhSOohCWrgietgSmvfy2yfTC0ezS2eTi5dzy7dUC9ckS/cErBbU/Da1TFaFnHZF7JYWTLXmrNW3DPV3bRU33ST4PUS4rVR5DXQ5fYP57ZOqTbNqvcMrLdLbneKMDfJcfgIM7hHdTiGtvjGOLkGOnlGu/lHPbmH/vnI////6dkNu4AAAABYktHRGNcvi2qAAAAB3RJTUUH4wISEh00Ha7gTwAAAIl6VFh0UmF3IHByb2ZpbGUgdHlwZSBleGlmAAAImVWO0Q3DMAhE/5kiI2DAB4xTRYnUDTp+cJzK7fuA0wkO6Pi8T9oGjYWseyABLiwt5VUieKLMTbiNXnXydG2lZNmkMgUynG0N2uN/6YrA6eaOjh27VLocKhpVa49GKo83coV43D/U2X//1j/QBUTJLDCZZckEAAAAbElEQVQI12NgYGRiZmFlY+fg5OLm4eXjFxAUEhYRFROXkJSSlpGVk1dQVFJWUVVT19DU0tbR1dM3MDQyNjE1M7ewtLK2sbWzd3B0cnZxdXP38PTy9vH18w8IDAoOCQ0Lj4iMio6JjYtPSEwCAHgmEvTi4/F5AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE5LTAyLTE4VDE4OjI5OjUyKzAxOjAwUKWXygAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOS0wMi0xOFQxODoyOTo1MiswMTowMCH4L3YAAAAWdEVYdGV4aWY6RXhpZkltYWdlTGVuZ3RoADl2GPUTAAAAF3RFWHRleGlmOkV4aWZJbWFnZVdpZHRoADg4OE4hyKYAAAASdEVYdGV4aWY6RXhpZk9mZnNldAA2Njd3Z2EAAAAddEVYdGV4aWY6U29mdHdhcmUAU2hvdHdlbGwgMC4yOC40Lr5VtAAAAABJRU5ErkJggg==' ) ) ;
31
+ this . texture = getColorMapTexture ( colorMap ) ;
32
+
33
+ this . textureNode = new Nodes . TextureNode ( this . texture ) ;
29
34
30
35
const functionNode = new Nodes . FunctionNode (
31
36
`vec3 isoColorFunc${ this . id } (sampler2D textureMap, float min, float max, float data){
@@ -82,13 +87,19 @@ class IsoColor extends Effect {
82
87
return 1 ;
83
88
}
84
89
90
+ set colorMap ( colorMap : string ) {
91
+ this . texture = getColorMapTexture ( colorMap ) ;
92
+ this . textureNode . value = this . texture ;
93
+ }
94
+
85
95
private initialized : boolean = false ;
86
96
87
97
private functionCallNode : Nodes . FunctionCallNode ;
88
98
89
99
private minNode : Nodes . FloatNode ;
90
100
private maxNode : Nodes . FloatNode ;
91
101
102
+ private texture : THREE . DataTexture ;
92
103
private textureNode : Nodes . TextureNode ;
93
104
94
105
protected inputs : [ Component ] ;
0 commit comments