Skip to content

Commit 807dced

Browse files
authored
Examples: Convert math to ES6. (#21598)
1 parent ce79967 commit 807dced

File tree

10 files changed

+2227
-2181
lines changed

10 files changed

+2227
-2181
lines changed

examples/js/math/ColorConverter.js

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,53 @@
11
( function () {
22

3-
var ColorConverter = {
4-
setHSV: function ( color, h, s, v ) {
3+
const _hsl = {};
4+
5+
class ColorConverter {
6+
7+
static setHSV( color, h, s, v ) {
58

69
// https://gist.github.com/xpansive/1337890#file-index-js
710
h = THREE.MathUtils.euclideanModulo( h, 1 );
811
s = THREE.MathUtils.clamp( s, 0, 1 );
912
v = THREE.MathUtils.clamp( v, 0, 1 );
1013
return color.setHSL( h, s * v / ( ( h = ( 2 - s ) * v ) < 1 ? h : 2 - h ), h * 0.5 );
1114

12-
},
13-
getHSV: function () {
15+
}
16+
17+
static getHSV( color, target ) {
1418

15-
var hsl = {};
16-
return function getHSV( color, target ) {
19+
if ( target === undefined ) {
1720

18-
if ( target === undefined ) {
21+
console.warn( 'THREE.ColorConverter: .getHSV() target is now required' );
22+
target = {
23+
h: 0,
24+
s: 0,
25+
l: 0
26+
};
1927

20-
console.warn( 'THREE.ColorConverter: .getHSV() target is now required' );
21-
target = {
22-
h: 0,
23-
s: 0,
24-
l: 0
25-
};
28+
}
2629

27-
}
30+
color.getHSL( _hsl ); // based on https://gist.github.com/xpansive/1337890#file-index-js
2831

29-
color.getHSL( hsl ); // based on https://gist.github.com/xpansive/1337890#file-index-js
32+
_hsl.s *= _hsl.l < 0.5 ? _hsl.l : 1 - _hsl.l;
33+
target.h = _hsl.h;
34+
target.s = 2 * _hsl.s / ( _hsl.l + _hsl.s );
35+
target.v = _hsl.l + _hsl.s;
36+
return target;
3037

31-
hsl.s *= hsl.l < 0.5 ? hsl.l : 1 - hsl.l;
32-
target.h = hsl.h;
33-
target.s = 2 * hsl.s / ( hsl.l + hsl.s );
34-
target.v = hsl.l + hsl.s;
35-
return target;
38+
} // where c, m, y, k is between 0 and 1
3639

37-
};
3840

39-
}(),
40-
// where c, m, y, k is between 0 and 1
41-
setCMYK: function ( color, c, m, y, k ) {
41+
static setCMYK( color, c, m, y, k ) {
4242

43-
var r = ( 1 - c ) * ( 1 - k );
44-
var g = ( 1 - m ) * ( 1 - k );
45-
var b = ( 1 - y ) * ( 1 - k );
43+
const r = ( 1 - c ) * ( 1 - k );
44+
const g = ( 1 - m ) * ( 1 - k );
45+
const b = ( 1 - y ) * ( 1 - k );
4646
return color.setRGB( r, g, b );
4747

48-
},
49-
getCMYK: function ( color, target ) {
48+
}
49+
50+
static getCMYK( color, target ) {
5051

5152
if ( target === undefined ) {
5253

@@ -60,21 +61,22 @@
6061

6162
}
6263

63-
var r = color.r;
64-
var g = color.g;
65-
var b = color.b;
66-
var k = 1 - Math.max( r, g, b );
67-
var c = ( 1 - r - k ) / ( 1 - k );
68-
var m = ( 1 - g - k ) / ( 1 - k );
69-
var y = ( 1 - b - k ) / ( 1 - k );
64+
const r = color.r;
65+
const g = color.g;
66+
const b = color.b;
67+
const k = 1 - Math.max( r, g, b );
68+
const c = ( 1 - r - k ) / ( 1 - k );
69+
const m = ( 1 - g - k ) / ( 1 - k );
70+
const y = ( 1 - b - k ) / ( 1 - k );
7071
target.c = c;
7172
target.m = m;
7273
target.y = y;
7374
target.k = k;
7475
return target;
7576

7677
}
77-
};
78+
79+
}
7880

7981
THREE.ColorConverter = ColorConverter;
8082

0 commit comments

Comments
 (0)