123456789101112131415161718192021222324252627282930313233343536373839 |
- // Allows updating of multiple THREE.Color objects with the same value
- // Used for face.color -> face.vertexColor[] compatibility layer for non-indexed geometry
- THREE.MultiColor = function(links) {
- this.links = links;
- }
- THREE.MultiColor.prototype = Object.create( THREE.Color.prototype );
- THREE.MultiColor.prototype.constructor = THREE.MultiColor;
- THREE.MultiColor.prototype.setAll = function(axis, value) {
- for (var i = 0, l = this.links.length; i < l; i++) {
- this.links[i][axis] = value;
- }
- }
- // Getters return value from the first linked color
- // Setters set the same value for all linked colors
- Object.defineProperties( THREE.MultiColor.prototype, {
- 'r': {
- get: function () { return (this.links[0] ? this.links[0].r : 0); },
- set: function ( v ) { this.setAll('r', v); }
- },
- 'g': {
- get: function () { return (this.links[0] ? this.links[0].g : 0); },
- set: function ( v ) { this.setAll('g', v); }
- },
- 'b': {
- get: function () { return (this.links[0] ? this.links[0].b : 0); },
- set: function ( v ) { this.setAll('b', v); }
- }
- } );
|