Skip to content

Commit a54187a

Browse files
committed
Paraview colormaps
1 parent f0a4290 commit a54187a

File tree

4 files changed

+13426
-3
lines changed

4 files changed

+13426
-3
lines changed

package.json

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
"dependencies": {
3131
"backbone": "^1.4.0",
3232
"binary-search-tree": "^0.2.6",
33+
"d3-color": "^1.4.0",
34+
"d3-interpolate": "^1.4.0",
35+
"d3-scale": "^3.2.1",
36+
"d3-scale-chromatic": "^1.5.0",
3337
"jquery": "^3.4.1",
3438
"three": "^0.118.0",
3539
"uuid": "^3.3.3"

src/Effects/IsoColor.ts

+14-3
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,20 @@ import {
1717
NodeOperation
1818
} from '../NodeMesh';
1919

20+
import {
21+
getColorMapTexture
22+
} from '../utils/colormaps';
23+
2024

2125
export
2226
class IsoColor extends Effect {
2327

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') {
2529
super(parent, input);
2630

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);
2934

3035
const functionNode = new Nodes.FunctionNode(
3136
`vec3 isoColorFunc${this.id}(sampler2D textureMap, float min, float max, float data){
@@ -82,13 +87,19 @@ class IsoColor extends Effect {
8287
return 1;
8388
}
8489

90+
set colorMap (colorMap: string) {
91+
this.texture = getColorMapTexture(colorMap);
92+
this.textureNode.value = this.texture;
93+
}
94+
8595
private initialized: boolean = false;
8696

8797
private functionCallNode: Nodes.FunctionCallNode;
8898

8999
private minNode: Nodes.FloatNode;
90100
private maxNode: Nodes.FloatNode;
91101

102+
private texture: THREE.DataTexture;
92103
private textureNode: Nodes.TextureNode;
93104

94105
protected inputs: [Component];

0 commit comments

Comments
 (0)