setHSL( h, s, l, colorSpace = ColorManagement.workingColorSpace ) {

		// h,s,l ranges are in 0.0 - 1.0
		h = euclideanModulo( h, 1 );
		s = clamp( s, 0, 1 );
		l = clamp( l, 0, 1 );

		if ( s === 0 ) {

			this.r = this.g = this.b = l;

		} else {

			const p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s );
			const q = ( 2 * l ) - p;

			this.r = hue2rgb( q, p, h + 1 / 3 );
			this.g = hue2rgb( q, p, h );
			this.b = hue2rgb( q, p, h - 1 / 3 );

		}

		ColorManagement.colorSpaceToWorking( this, colorSpace );

		return this;

	}
Sets this color from RGB values.

@param {number} h - Hue value between `0.0` and `1.0`.
@param {number} s - Saturation value between `0.0` and `1.0`.
@param {number} l - Lightness value between `0.0` and `1.0`.
@param {string} [colorSpace=ColorManagement.workingColorSpace] - The color space.
@return {Color} A reference to this color.