Expressions / renamed mod to % to be more in line with MB style spec
This commit is contained in:
@@ -18,7 +18,7 @@ const period = 12; // animation period in seconds
|
|||||||
const animRatio =
|
const animRatio =
|
||||||
['^',
|
['^',
|
||||||
['/',
|
['/',
|
||||||
['mod',
|
['%',
|
||||||
['+',
|
['+',
|
||||||
['time'],
|
['time'],
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import {asArray, isStringColor} from '../color.js';
|
|||||||
* * `['+', value1, value1]` adds `value1` and `value2`
|
* * `['+', value1, value1]` adds `value1` and `value2`
|
||||||
* * `['-', value1, value1]` subtracts `value2` from `value1`
|
* * `['-', value1, value1]` subtracts `value2` from `value1`
|
||||||
* * `['clamp', value, low, high]` clamps `value` between `low` and `high`
|
* * `['clamp', value, low, high]` clamps `value` between `low` and `high`
|
||||||
* * `['mod', value1, value1]` returns the result of `value1 % value2` (modulo)
|
* * `['%', value1, value1]` returns the result of `value1 % value2` (modulo)
|
||||||
* * `['^', value1, value1]` returns the value of `value1` raised to the `value2` power
|
* * `['^', value1, value1]` returns the value of `value1` raised to the `value2` power
|
||||||
*
|
*
|
||||||
* * Transform operators:
|
* * Transform operators:
|
||||||
@@ -412,7 +412,7 @@ Operators['clamp'] = {
|
|||||||
return `clamp(${expressionToGlsl(context, args[0])}, ${min}, ${max})`;
|
return `clamp(${expressionToGlsl(context, args[0])}, ${min}, ${max})`;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Operators['mod'] = {
|
Operators['%'] = {
|
||||||
getReturnType: function(args) {
|
getReturnType: function(args) {
|
||||||
return ValueTypes.NUMBER;
|
return ValueTypes.NUMBER;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ describe('ol.style.expressions', function() {
|
|||||||
expect(getValueType(['*', ['get', 'size'], 12])).to.eql(ValueTypes.NUMBER);
|
expect(getValueType(['*', ['get', 'size'], 12])).to.eql(ValueTypes.NUMBER);
|
||||||
expect(getValueType(['clamp', ['get', 'attr2'], ['get', 'attr3'], 20])).to.eql(ValueTypes.NUMBER);
|
expect(getValueType(['clamp', ['get', 'attr2'], ['get', 'attr3'], 20])).to.eql(ValueTypes.NUMBER);
|
||||||
expect(getValueType(['^', 10, 2])).to.eql(ValueTypes.NUMBER);
|
expect(getValueType(['^', 10, 2])).to.eql(ValueTypes.NUMBER);
|
||||||
expect(getValueType(['mod', ['time'], 10])).to.eql(ValueTypes.NUMBER);
|
expect(getValueType(['%', ['time'], 10])).to.eql(ValueTypes.NUMBER);
|
||||||
expect(getValueType(['>', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
expect(getValueType(['>', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
||||||
expect(getValueType(['>=', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
expect(getValueType(['>=', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
||||||
expect(getValueType(['<', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
expect(getValueType(['<', 10, ['get', 'attr4']])).to.eql(ValueTypes.BOOLEAN);
|
||||||
@@ -165,7 +165,7 @@ describe('ol.style.expressions', function() {
|
|||||||
expect(expressionToGlsl(context, ['+', ['*', ['get', 'size'], 0.001], 12])).to.eql('((a_size * 0.001) + 12.0)');
|
expect(expressionToGlsl(context, ['+', ['*', ['get', 'size'], 0.001], 12])).to.eql('((a_size * 0.001) + 12.0)');
|
||||||
expect(expressionToGlsl(context, ['/', ['-', ['get', 'size'], 20], 100])).to.eql('((a_size - 20.0) / 100.0)');
|
expect(expressionToGlsl(context, ['/', ['-', ['get', 'size'], 20], 100])).to.eql('((a_size - 20.0) / 100.0)');
|
||||||
expect(expressionToGlsl(context, ['clamp', ['get', 'attr2'], ['get', 'attr3'], 20])).to.eql('clamp(a_attr2, a_attr3, 20.0)');
|
expect(expressionToGlsl(context, ['clamp', ['get', 'attr2'], ['get', 'attr3'], 20])).to.eql('clamp(a_attr2, a_attr3, 20.0)');
|
||||||
expect(expressionToGlsl(context, ['^', ['mod', ['time'], 10], 2])).to.eql('pow(mod(u_time, 10.0), 2.0)');
|
expect(expressionToGlsl(context, ['^', ['%', ['time'], 10], 2])).to.eql('pow(mod(u_time, 10.0), 2.0)');
|
||||||
expect(expressionToGlsl(context, ['>', 10, ['get', 'attr4']])).to.eql('(10.0 > a_attr4)');
|
expect(expressionToGlsl(context, ['>', 10, ['get', 'attr4']])).to.eql('(10.0 > a_attr4)');
|
||||||
expect(expressionToGlsl(context, ['>=', 10, ['get', 'attr4']])).to.eql('(10.0 >= a_attr4)');
|
expect(expressionToGlsl(context, ['>=', 10, ['get', 'attr4']])).to.eql('(10.0 >= a_attr4)');
|
||||||
expect(expressionToGlsl(context, ['<', 10, ['get', 'attr4']])).to.eql('(10.0 < a_attr4)');
|
expect(expressionToGlsl(context, ['<', 10, ['get', 'attr4']])).to.eql('(10.0 < a_attr4)');
|
||||||
@@ -297,7 +297,7 @@ describe('ol.style.expressions', function() {
|
|||||||
describe('case operator', function() {
|
describe('case operator', function() {
|
||||||
let context;
|
let context;
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function() {
|
||||||
context = {
|
context = {
|
||||||
variables: [],
|
variables: [],
|
||||||
attributes: [],
|
attributes: [],
|
||||||
@@ -619,7 +619,7 @@ describe('ol.style.expressions', function() {
|
|||||||
['linear'],
|
['linear'],
|
||||||
['^',
|
['^',
|
||||||
['/',
|
['/',
|
||||||
['mod',
|
['%',
|
||||||
['+',
|
['+',
|
||||||
['time'],
|
['time'],
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user