diff --git a/draftlogs/6938_add.md b/draftlogs/6938_add.md
new file mode 100644
index 00000000000..6e4816e6815
--- /dev/null
+++ b/draftlogs/6938_add.md
@@ -0,0 +1,2 @@
+ - Add "raw" sizemode to cone trace [[#6938](https://github.com/plotly/plotly.js/pull/6938)]
+
diff --git a/src/traces/cone/attributes.js b/src/traces/cone/attributes.js
index d951562f69a..7d78371f226 100644
--- a/src/traces/cone/attributes.js
+++ b/src/traces/cone/attributes.js
@@ -96,13 +96,14 @@ var attrs = {
sizemode: {
valType: 'enumerated',
- values: ['scaled', 'absolute'],
+ values: ['scaled', 'absolute', 'raw'],
editType: 'calc',
dflt: 'scaled',
description: [
'Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar',
'(normalized by the max u/v/w norm in the vector field) or as',
- '*absolute* value (in the same units as the vector field).'
+ '*absolute* value (in the same units as the vector field).',
+ 'To display sizes in actual vector length use *raw*.'
].join(' ')
},
sizeref: {
@@ -115,7 +116,8 @@ var attrs = {
'This factor (computed internally) corresponds to the minimum "time" to travel across',
'two successive x/y/z positions at the average velocity of those two successive positions.',
'All cones in a given trace use the same factor.',
- 'With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*',
+ 'With `sizemode` set to *raw*, its default value is *1*.',
+ 'With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*.',
'With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field,',
'its the default value is half the sample\'s maximum vector norm.'
].join(' ')
diff --git a/src/traces/cone/convert.js b/src/traces/cone/convert.js
index 75a35c32477..0662e5535af 100644
--- a/src/traces/cone/convert.js
+++ b/src/traces/cone/convert.js
@@ -79,15 +79,20 @@ function convert(scene, trace) {
coneOpts.vertexIntensityBounds = [cOpts.min / trace._normMax, cOpts.max / trace._normMax];
coneOpts.coneOffset = anchor2coneOffset[trace.anchor];
- if(trace.sizemode === 'scaled') {
+
+ var sizemode = trace.sizemode;
+ if(sizemode === 'scaled') {
// unitless sizeref
coneOpts.coneSize = trace.sizeref || 0.5;
- } else {
+ } else if(sizemode === 'absolute') {
// sizeref here has unit of velocity
coneOpts.coneSize = trace.sizeref && trace._normMax ?
trace.sizeref / trace._normMax :
0.5;
+ } else if(sizemode === 'raw') {
+ coneOpts.coneSize = trace.sizeref;
}
+ coneOpts.coneSizemode = sizemode;
var meshData = conePlot(coneOpts);
diff --git a/src/traces/cone/defaults.js b/src/traces/cone/defaults.js
index 0516c8635d1..6aa4249d6ec 100644
--- a/src/traces/cone/defaults.js
+++ b/src/traces/cone/defaults.js
@@ -26,8 +26,8 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
return;
}
- coerce('sizeref');
- coerce('sizemode');
+ var sizemode = coerce('sizemode');
+ coerce('sizeref', sizemode === 'raw' ? 1 : 0.5);
coerce('anchor');
diff --git a/stackgl_modules/index.js b/stackgl_modules/index.js
index c34c92d42bf..286015a1c42 100644
--- a/stackgl_modules/index.js
+++ b/stackgl_modules/index.js
@@ -13782,6 +13782,7 @@ module.exports = function(vectorfield, bounds) {
var positionVectors = [];
var vectorScale = Infinity;
var skipIt = false;
+ var rawSizemodemode = vectorfield.coneSizemode === 'raw';
for (var i = 0; i < positions.length; i++) {
var p = positions[i];
minX = Math.min(p[0], minX);
@@ -13795,7 +13796,7 @@ module.exports = function(vectorfield, bounds) {
if (vec3.length(u) > maxNorm) {
maxNorm = vec3.length(u);
}
- if (i) {
+ if (i && !rawSizemodemode) {
// Find vector scale [w/ units of time] using "successive" positions
// (not "adjacent" with would be O(n^2)),
//
@@ -13834,7 +13835,9 @@ module.exports = function(vectorfield, bounds) {
}
geo.vectorScale = vectorScale;
- var coneScale = vectorfield.coneSize || 0.5;
+ var coneScale = vectorfield.coneSize || (
+ rawSizemodemode ? 1 :0.5
+ );
if (vectorfield.absoluteConeSize) {
coneScale = vectorfield.absoluteConeSize * invertedMaxNorm;
diff --git a/stackgl_modules/package-lock.json b/stackgl_modules/package-lock.json
index 047dbdbe291..5e7b123d774 100644
--- a/stackgl_modules/package-lock.json
+++ b/stackgl_modules/package-lock.json
@@ -10,7 +10,7 @@
"box-intersect": "plotly/box-intersect#v1.1.0",
"convex-hull": "^1.0.3",
"delaunay-triangulate": "^1.1.6",
- "gl-cone3d": "^1.5.2",
+ "gl-cone3d": "^1.6.0",
"gl-error3d": "^1.0.16",
"gl-heatmap2d": "^1.1.1",
"gl-line3d": "1.2.1",
@@ -3738,9 +3738,9 @@
}
},
"node_modules/gl-cone3d": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz",
- "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.6.0.tgz",
+ "integrity": "sha512-RcL9Jm/HQm/O+aaraUh6lpHy6dChYTRjd4l+V2cY8Ct0SZPUVL1ZZMwEI9YQS/EAnBSZG0uUjWxGxvKBJwuVxQ==",
"dependencies": {
"colormap": "^2.3.1",
"gl-buffer": "^2.1.2",
@@ -9696,9 +9696,9 @@
}
},
"gl-cone3d": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.5.2.tgz",
- "integrity": "sha512-1JNeHH4sUtUmDA4ZK7Om8/kShwb8IZVAsnxaaB7IPRJsNGciLj1sTpODrJGeMl41RNkex5kXD2SQFrzyEAR2Rw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/gl-cone3d/-/gl-cone3d-1.6.0.tgz",
+ "integrity": "sha512-RcL9Jm/HQm/O+aaraUh6lpHy6dChYTRjd4l+V2cY8Ct0SZPUVL1ZZMwEI9YQS/EAnBSZG0uUjWxGxvKBJwuVxQ==",
"requires": {
"colormap": "^2.3.1",
"gl-buffer": "^2.1.2",
diff --git a/stackgl_modules/package.json b/stackgl_modules/package.json
index ffbcc1c2e3c..84d5f87fc7a 100644
--- a/stackgl_modules/package.json
+++ b/stackgl_modules/package.json
@@ -13,7 +13,7 @@
"box-intersect": "plotly/box-intersect#v1.1.0",
"convex-hull": "^1.0.3",
"delaunay-triangulate": "^1.1.6",
- "gl-cone3d": "^1.5.2",
+ "gl-cone3d": "^1.6.0",
"gl-error3d": "^1.0.16",
"gl-heatmap2d": "^1.1.1",
"gl-line3d": "1.2.1",
diff --git a/test/image/baselines/zz-gl3d_cone-sizemode_vector.png b/test/image/baselines/zz-gl3d_cone-sizemode_vector.png
new file mode 100644
index 00000000000..8db680c242b
Binary files /dev/null and b/test/image/baselines/zz-gl3d_cone-sizemode_vector.png differ
diff --git a/test/image/baselines/zz-gl3d_cone-sizemode_vector2.png b/test/image/baselines/zz-gl3d_cone-sizemode_vector2.png
new file mode 100644
index 00000000000..54ffc6fbc75
Binary files /dev/null and b/test/image/baselines/zz-gl3d_cone-sizemode_vector2.png differ
diff --git a/test/image/baselines/zz-gl3d_cone-sizemode_vector3.png b/test/image/baselines/zz-gl3d_cone-sizemode_vector3.png
new file mode 100644
index 00000000000..73fcf488409
Binary files /dev/null and b/test/image/baselines/zz-gl3d_cone-sizemode_vector3.png differ
diff --git a/test/image/mocks/zz-gl3d_cone-sizemode_vector.json b/test/image/mocks/zz-gl3d_cone-sizemode_vector.json
new file mode 100644
index 00000000000..9638fcb90d8
--- /dev/null
+++ b/test/image/mocks/zz-gl3d_cone-sizemode_vector.json
@@ -0,0 +1,65 @@
+{
+ "data": [
+ {
+ "type": "cone",
+ "x": [1, 2, 3],
+ "y": [1, 2, 3],
+ "z": [1, 2, 3],
+ "u": [1, 0, 0],
+ "v": [0, 3, 0],
+ "w": [0, 0, 2],
+ "sizemode": "raw",
+ "anchor": "tip",
+ "colorbar": {
+ "title": { "text": "raw
sizeref: 1" },
+ "x": 0,
+ "xanchor": "right"
+ }
+ },
+ {
+ "type": "cone",
+ "x": [1, 2, 3],
+ "y": [1, 2, 3],
+ "z": [1, 2, 3],
+ "u": [0.5, 0, 0],
+ "v": [0, 1.5, 0],
+ "w": [0, 0, 1],
+ "sizemode": "raw",
+ "anchor": "tip",
+ "colorbar": {
+ "title": { "text": "rawr
sizeref: 1" }
+ },
+ "scene": "scene2"
+ }
+ ],
+ "layout": {
+ "scene": {
+ "domain": {"x": [0, 0.5]},
+ "aspectratio": {
+ "x": 1.5,
+ "y": 1.5,
+ "z": 1.5
+ },
+ "camera": {
+ "projection": {"type": "orthographic"},
+ "up": {"x": 0, "y": 1, "z": 0},
+ "eye": {"x": 0, "y": 0, "z": 3}
+ }
+ },
+ "scene2": {
+ "domain": {"x": [0.5, 1]},
+ "aspectratio": {
+ "x": 1.5,
+ "y": 1.5,
+ "z": 1.5
+ },
+ "camera": {
+ "projection": {"type": "orthographic"},
+ "up": {"x": 0, "y": 1, "z": 0},
+ "eye": {"x": 0, "y": 0, "z": 3}
+ }
+ },
+ "width": 1000,
+ "height": 500
+ }
+}
diff --git a/test/image/mocks/zz-gl3d_cone-sizemode_vector2.json b/test/image/mocks/zz-gl3d_cone-sizemode_vector2.json
new file mode 100644
index 00000000000..41f68d3fdc0
--- /dev/null
+++ b/test/image/mocks/zz-gl3d_cone-sizemode_vector2.json
@@ -0,0 +1,67 @@
+{
+ "data": [
+ {
+ "type": "cone",
+ "x": [1, 2, 3],
+ "y": [1, 2, 3],
+ "z": [1, 2, 3],
+ "u": [1, 0, 0],
+ "v": [0, 3, 0],
+ "w": [0, 0, 2],
+ "sizemode": "raw",
+ "anchor": "tip",
+ "sizeref": 0.5,
+ "colorbar": {
+ "title": { "text": "raw
sizeref: 2" },
+ "x": 0,
+ "xanchor": "right"
+ }
+ },
+ {
+ "type": "cone",
+ "x": [1, 2, 3],
+ "y": [1, 2, 3],
+ "z": [1, 2, 3],
+ "u": [0.5, 0, 0],
+ "v": [0, 1.5, 0],
+ "w": [0, 0, 1],
+ "sizemode": "raw",
+ "anchor": "tip",
+ "sizeref": 2,
+ "colorbar": {
+ "title": { "text": "raw
sizeref: 2" }
+ },
+ "scene": "scene2"
+ }
+ ],
+ "layout": {
+ "scene": {
+ "domain": {"x": [0, 0.5]},
+ "aspectratio": {
+ "x": 1.5,
+ "y": 1.5,
+ "z": 1.5
+ },
+ "camera": {
+ "projection": {"type": "orthographic"},
+ "up": {"x": 0, "y": 1, "z": 0},
+ "eye": {"x": 0, "y": 0, "z": 3}
+ }
+ },
+ "scene2": {
+ "domain": {"x": [0.5, 1]},
+ "aspectratio": {
+ "x": 1.5,
+ "y": 1.5,
+ "z": 1.5
+ },
+ "camera": {
+ "projection": {"type": "orthographic"},
+ "up": {"x": 0, "y": 1, "z": 0},
+ "eye": {"x": 0, "y": 0, "z": 3}
+ }
+ },
+ "width": 1000,
+ "height": 500
+ }
+}
diff --git a/test/image/mocks/zz-gl3d_cone-sizemode_vector3.json b/test/image/mocks/zz-gl3d_cone-sizemode_vector3.json
new file mode 100644
index 00000000000..a9202ef1dc7
--- /dev/null
+++ b/test/image/mocks/zz-gl3d_cone-sizemode_vector3.json
@@ -0,0 +1,225 @@
+{
+ "data": [
+ {
+ "type": "cone",
+ "sizemode": "raw",
+ "anchor": "tip",
+ "u": [
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0.259, -0.125, 0.224, -0.092, 0.129, -0.033, 0, 0.033, -0.129, 0.092,
+ -0.224, 0.125, -0.259, 0.125, -0.224, 0.092, -0.129, 0.033, 0, -0.033,
+ 0.129, -0.092, 0.224, -0.125, 0.259, 0.5, 0.483, 0.433, 0.354, 0.25,
+ 0.129, 0, -0.129, -0.25, -0.354, -0.433, -0.483, -0.5, -0.483, -0.433,
+ -0.354, -0.25, -0.129, 0, 0.129, 0.25, 0.354, 0.433, 0.483, 0.5, 0.707,
+ -0.342, 0.612, -0.25, 0.354, -0.092, 0, 0.092, -0.354, 0.25, -0.612,
+ 0.342, -0.707, 0.342, -0.612, 0.25, -0.354, 0.092, 0, -0.092, 0.354,
+ -0.25, 0.612, -0.342, 0.707, 0.866, 0.837, 0.75, 0.612, 0.433, 0.224, 0,
+ -0.224, -0.433, -0.612, -0.75, -0.837, -0.866, -0.837, -0.75, -0.612,
+ -0.433, -0.224, 0, 0.224, 0.433, 0.612, 0.75, 0.837, 0.866, 0.966,
+ -0.467, 0.837, -0.342, 0.483, -0.125, 0, 0.125, -0.483, 0.342, -0.837,
+ 0.467, -0.966, 0.467, -0.837, 0.342, -0.483, 0.125, 0, -0.125, 0.483,
+ -0.342, 0.837, -0.467, 0.966, 1, 0.966, 0.866, 0.707, 0.5, 0.259, 0,
+ -0.259, -0.5, -0.707, -0.866, -0.966, -1, -0.966, -0.866, -0.707, -0.5,
+ -0.259, 0, 0.259, 0.5, 0.707, 0.866, 0.966, 1, 0.966, -0.467, 0.837,
+ -0.342, 0.483, -0.125, 0, 0.125, -0.483, 0.342, -0.837, 0.467, -0.966,
+ 0.467, -0.837, 0.342, -0.483, 0.125, 0, -0.125, 0.483, -0.342, 0.837,
+ -0.467, 0.966, 0.866, 0.837, 0.75, 0.612, 0.433, 0.224, 0, -0.224,
+ -0.433, -0.612, -0.75, -0.837, -0.866, -0.837, -0.75, -0.612, -0.433,
+ -0.224, 0, 0.224, 0.433, 0.612, 0.75, 0.837, 0.866, 0.707, -0.342,
+ 0.612, -0.25, 0.354, -0.092, 0, 0.092, -0.354, 0.25, -0.612, 0.342,
+ -0.707, 0.342, -0.612, 0.25, -0.354, 0.092, 0, -0.092, 0.354, -0.25,
+ 0.612, -0.342, 0.707, 0.5, 0.483, 0.433, 0.354, 0.25, 0.129, 0, -0.129,
+ -0.25, -0.354, -0.433, -0.483, -0.5, -0.483, -0.433, -0.354, -0.25,
+ -0.129, 0, 0.129, 0.25, 0.354, 0.433, 0.483, 0.5, 0.259, -0.125, 0.224,
+ -0.092, 0.129, -0.033, 0, 0.033, -0.129, 0.092, -0.224, 0.125, -0.259,
+ 0.125, -0.224, 0.092, -0.129, 0.033, 0, -0.033, 0.129, -0.092, 0.224,
+ -0.125, 0.259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0
+ ],
+ "v": [
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -0.033, 0.129, -0.092, 0.224, -0.125, 0.259, -0.125, 0.224,
+ -0.092, 0.129, -0.033, 0, 0.033, -0.129, 0.092, -0.224, 0.125, -0.259,
+ 0.125, -0.224, 0.092, -0.129, 0.033, 0, 0, 0.129, 0.25, 0.354, 0.433,
+ 0.483, 0.5, 0.483, 0.433, 0.354, 0.25, 0.129, 0, -0.129, -0.25, -0.354,
+ -0.433, -0.483, -0.5, -0.483, -0.433, -0.354, -0.25, -0.129, 0, 0,
+ -0.092, 0.354, -0.25, 0.612, -0.342, 0.707, -0.342, 0.612, -0.25, 0.354,
+ -0.092, 0, 0.092, -0.354, 0.25, -0.612, 0.342, -0.707, 0.342, -0.612,
+ 0.25, -0.354, 0.092, 0, 0, 0.224, 0.433, 0.612, 0.75, 0.837, 0.866,
+ 0.837, 0.75, 0.612, 0.433, 0.224, 0, -0.224, -0.433, -0.612, -0.75,
+ -0.837, -0.866, -0.837, -0.75, -0.612, -0.433, -0.224, 0, 0, -0.125,
+ 0.483, -0.342, 0.837, -0.467, 0.966, -0.467, 0.837, -0.342, 0.483,
+ -0.125, 0, 0.125, -0.483, 0.342, -0.837, 0.467, -0.966, 0.467, -0.837,
+ 0.342, -0.483, 0.125, 0, 0, 0.259, 0.5, 0.707, 0.866, 0.966, 1, 0.966,
+ 0.866, 0.707, 0.5, 0.259, 0, -0.259, -0.5, -0.707, -0.866, -0.966, -1,
+ -0.966, -0.866, -0.707, -0.5, -0.259, 0, 0, -0.125, 0.483, -0.342,
+ 0.837, -0.467, 0.966, -0.467, 0.837, -0.342, 0.483, -0.125, 0, 0.125,
+ -0.483, 0.342, -0.837, 0.467, -0.966, 0.467, -0.837, 0.342, -0.483,
+ 0.125, 0, 0, 0.224, 0.433, 0.612, 0.75, 0.837, 0.866, 0.837, 0.75,
+ 0.612, 0.433, 0.224, 0, -0.224, -0.433, -0.612, -0.75, -0.837, -0.866,
+ -0.837, -0.75, -0.612, -0.433, -0.224, 0, 0, -0.092, 0.354, -0.25,
+ 0.612, -0.342, 0.707, -0.342, 0.612, -0.25, 0.354, -0.092, 0, 0.092,
+ -0.354, 0.25, -0.612, 0.342, -0.707, 0.342, -0.612, 0.25, -0.354, 0.092,
+ 0, 0, 0.129, 0.25, 0.354, 0.433, 0.483, 0.5, 0.483, 0.433, 0.354, 0.25,
+ 0.129, 0, -0.129, -0.25, -0.354, -0.433, -0.483, -0.5, -0.483, -0.433,
+ -0.354, -0.25, -0.129, 0, 0, -0.033, 0.129, -0.092, 0.224, -0.125,
+ 0.259, -0.125, 0.224, -0.092, 0.129, -0.033, 0, 0.033, -0.129, 0.092,
+ -0.224, 0.125, -0.259, 0.125, -0.224, 0.092, -0.129, 0.033, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ ],
+ "w": [
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -0.966, 0.483, -0.966, 0.483, -0.966, 0.483,
+ -0.966, 0.483, -0.966, 0.483, -0.966, 0.483, -0.966, 0.483, -0.966,
+ 0.483, -0.966, 0.483, -0.966, 0.483, -0.966, 0.483, -0.966, 0.483,
+ -0.966, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866,
+ -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866,
+ -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.866, -0.707,
+ 0.354, -0.707, 0.354, -0.707, 0.354, -0.707, 0.354, -0.707, 0.354,
+ -0.707, 0.354, -0.707, 0.354, -0.707, 0.354, -0.707, 0.354, -0.707,
+ 0.354, -0.707, 0.354, -0.707, 0.354, -0.707, -0.5, -0.5, -0.5, -0.5,
+ -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5,
+ -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.259, 0.129,
+ -0.259, 0.129, -0.259, 0.129, -0.259, 0.129, -0.259, 0.129, -0.259,
+ 0.129, -0.259, 0.129, -0.259, 0.129, -0.259, 0.129, -0.259, 0.129,
+ -0.259, 0.129, -0.259, 0.129, -0.259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.259, -0.129, 0.259, -0.129,
+ 0.259, -0.129, 0.259, -0.129, 0.259, -0.129, 0.259, -0.129, 0.259,
+ -0.129, 0.259, -0.129, 0.259, -0.129, 0.259, -0.129, 0.259, -0.129,
+ 0.259, -0.129, 0.259, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
+ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
+ 0.5, 0.707, -0.354, 0.707, -0.354, 0.707, -0.354, 0.707, -0.354, 0.707,
+ -0.354, 0.707, -0.354, 0.707, -0.354, 0.707, -0.354, 0.707, -0.354,
+ 0.707, -0.354, 0.707, -0.354, 0.707, -0.354, 0.707, 0.866, 0.866, 0.866,
+ 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866,
+ 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866, 0.866,
+ 0.866, 0.866, 0.966, -0.483, 0.966, -0.483, 0.966, -0.483, 0.966,
+ -0.483, 0.966, -0.483, 0.966, -0.483, 0.966, -0.483, 0.966, -0.483,
+ 0.966, -0.483, 0.966, -0.483, 0.966, -0.483, 0.966, -0.483, 0.966, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+ ],
+ "x": [
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2.588, 2.5, 2.241, 1.83, 1.294, 0.67, 0, -0.67, -1.294, -1.83,
+ -2.241, -2.5, -2.588, -2.5, -2.241, -1.83, -1.294, -0.67, 0, 0.67,
+ 1.294, 1.83, 2.241, 2.5, 2.588, 5, 4.83, 4.33, 3.536, 2.5, 1.294, 0,
+ -1.294, -2.5, -3.536, -4.33, -4.83, -5, -4.83, -4.33, -3.536, -2.5,
+ -1.294, 0, 1.294, 2.5, 3.536, 4.33, 4.83, 5, 7.071, 6.83, 6.124, 5,
+ 3.536, 1.83, 0, -1.83, -3.536, -5, -6.124, -6.83, -7.071, -6.83, -6.124,
+ -5, -3.536, -1.83, 0, 1.83, 3.536, 5, 6.124, 6.83, 7.071, 8.66, 8.365,
+ 7.5, 6.124, 4.33, 2.241, 0, -2.241, -4.33, -6.124, -7.5, -8.365, -8.66,
+ -8.365, -7.5, -6.124, -4.33, -2.241, 0, 2.241, 4.33, 6.124, 7.5, 8.365,
+ 8.66, 9.659, 9.33, 8.365, 6.83, 4.83, 2.5, 0, -2.5, -4.83, -6.83,
+ -8.365, -9.33, -9.659, -9.33, -8.365, -6.83, -4.83, -2.5, 0, 2.5, 4.83,
+ 6.83, 8.365, 9.33, 9.659, 10, 9.659, 8.66, 7.071, 5, 2.588, 0, -2.588,
+ -5, -7.071, -8.66, -9.659, -10, -9.659, -8.66, -7.071, -5, -2.588, 0,
+ 2.588, 5, 7.071, 8.66, 9.659, 10, 9.659, 9.33, 8.365, 6.83, 4.83, 2.5,
+ 0, -2.5, -4.83, -6.83, -8.365, -9.33, -9.659, -9.33, -8.365, -6.83,
+ -4.83, -2.5, 0, 2.5, 4.83, 6.83, 8.365, 9.33, 9.659, 8.66, 8.365, 7.5,
+ 6.124, 4.33, 2.241, 0, -2.241, -4.33, -6.124, -7.5, -8.365, -8.66,
+ -8.365, -7.5, -6.124, -4.33, -2.241, 0, 2.241, 4.33, 6.124, 7.5, 8.365,
+ 8.66, 7.071, 6.83, 6.124, 5, 3.536, 1.83, 0, -1.83, -3.536, -5, -6.124,
+ -6.83, -7.071, -6.83, -6.124, -5, -3.536, -1.83, 0, 1.83, 3.536, 5,
+ 6.124, 6.83, 7.071, 5, 4.83, 4.33, 3.536, 2.5, 1.294, 0, -1.294, -2.5,
+ -3.536, -4.33, -4.83, -5, -4.83, -4.33, -3.536, -2.5, -1.294, 0, 1.294,
+ 2.5, 3.536, 4.33, 4.83, 5, 2.588, 2.5, 2.241, 1.83, 1.294, 0.67, 0,
+ -0.67, -1.294, -1.83, -2.241, -2.5, -2.588, -2.5, -2.241, -1.83, -1.294,
+ -0.67, 0, 0.67, 1.294, 1.83, 2.241, 2.5, 2.588, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ ],
+ "y": [
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0.67, 1.294, 1.83, 2.241, 2.5, 2.588, 2.5, 2.241, 1.83, 1.294,
+ 0.67, 0, -0.67, -1.294, -1.83, -2.241, -2.5, -2.588, -2.5, -2.241,
+ -1.83, -1.294, -0.67, 0, 0, 1.294, 2.5, 3.536, 4.33, 4.83, 5, 4.83,
+ 4.33, 3.536, 2.5, 1.294, 0, -1.294, -2.5, -3.536, -4.33, -4.83, -5,
+ -4.83, -4.33, -3.536, -2.5, -1.294, 0, 0, 1.83, 3.536, 5, 6.124, 6.83,
+ 7.071, 6.83, 6.124, 5, 3.536, 1.83, 0, -1.83, -3.536, -5, -6.124, -6.83,
+ -7.071, -6.83, -6.124, -5, -3.536, -1.83, 0, 0, 2.241, 4.33, 6.124, 7.5,
+ 8.365, 8.66, 8.365, 7.5, 6.124, 4.33, 2.241, 0, -2.241, -4.33, -6.124,
+ -7.5, -8.365, -8.66, -8.365, -7.5, -6.124, -4.33, -2.241, 0, 0, 2.5,
+ 4.83, 6.83, 8.365, 9.33, 9.659, 9.33, 8.365, 6.83, 4.83, 2.5, 0, -2.5,
+ -4.83, -6.83, -8.365, -9.33, -9.659, -9.33, -8.365, -6.83, -4.83, -2.5,
+ 0, 0, 2.588, 5, 7.071, 8.66, 9.659, 10, 9.659, 8.66, 7.071, 5, 2.588, 0,
+ -2.588, -5, -7.071, -8.66, -9.659, -10, -9.659, -8.66, -7.071, -5,
+ -2.588, 0, 0, 2.5, 4.83, 6.83, 8.365, 9.33, 9.659, 9.33, 8.365, 6.83,
+ 4.83, 2.5, 0, -2.5, -4.83, -6.83, -8.365, -9.33, -9.659, -9.33, -8.365,
+ -6.83, -4.83, -2.5, 0, 0, 2.241, 4.33, 6.124, 7.5, 8.365, 8.66, 8.365,
+ 7.5, 6.124, 4.33, 2.241, 0, -2.241, -4.33, -6.124, -7.5, -8.365, -8.66,
+ -8.365, -7.5, -6.124, -4.33, -2.241, 0, 0, 1.83, 3.536, 5, 6.124, 6.83,
+ 7.071, 6.83, 6.124, 5, 3.536, 1.83, 0, -1.83, -3.536, -5, -6.124, -6.83,
+ -7.071, -6.83, -6.124, -5, -3.536, -1.83, 0, 0, 1.294, 2.5, 3.536, 4.33,
+ 4.83, 5, 4.83, 4.33, 3.536, 2.5, 1.294, 0, -1.294, -2.5, -3.536, -4.33,
+ -4.83, -5, -4.83, -4.33, -3.536, -2.5, -1.294, 0, 0, 0.67, 1.294, 1.83,
+ 2.241, 2.5, 2.588, 2.5, 2.241, 1.83, 1.294, 0.67, 0, -0.67, -1.294,
+ -1.83, -2.241, -2.5, -2.588, -2.5, -2.241, -1.83, -1.294, -0.67, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ ],
+ "z": [
+ -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
+ -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9.659, -9.659,
+ -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659,
+ -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659, -9.659,
+ -9.659, -9.659, -9.659, -9.659, -9.659, -8.66, -8.66, -8.66, -8.66,
+ -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66,
+ -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66, -8.66,
+ -8.66, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071,
+ -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071,
+ -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -7.071, -5, -5,
+ -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
+ -5, -5, -5, -5, -5, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588,
+ -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588,
+ -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588, -2.588,
+ -2.588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588,
+ 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588,
+ 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 2.588, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7.071, 7.071, 7.071,
+ 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071,
+ 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071, 7.071,
+ 7.071, 7.071, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66,
+ 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66, 8.66,
+ 8.66, 8.66, 8.66, 8.66, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659,
+ 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659,
+ 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 9.659, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10
+ ]
+ }
+ ],
+ "layout": {
+ "width": 800,
+ "height": 800,
+ "scene": {
+ "xaxis": {
+ "dtick": 1
+ },
+ "yaxis": {
+ "dtick": 1
+ },
+ "zaxis": {
+ "dtick": 1
+ },
+ "aspectratio": {
+ "x": 1.8,
+ "y": 1.8,
+ "z": 1.8
+ },
+ "camera": {
+ "projection": {
+ "type": "orthographic"
+ },
+ "up": {
+ "x": 0,
+ "y": 1,
+ "z": 0
+ },
+ "eye": {
+ "x": 0,
+ "y": 0,
+ "z": 1
+ }
+ }
+ }
+ }
+}
diff --git a/test/plot-schema.json b/test/plot-schema.json
index 9b3a8816729..8cd2c5eb0c5 100644
--- a/test/plot-schema.json
+++ b/test/plot-schema.json
@@ -22456,17 +22456,18 @@
"valType": "boolean"
},
"sizemode": {
- "description": "Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as *absolute* value (in the same units as the vector field).",
+ "description": "Determines whether `sizeref` is set as a *scaled* (i.e unitless) scalar (normalized by the max u/v/w norm in the vector field) or as *absolute* value (in the same units as the vector field). To display sizes in actual vector length use *raw*.",
"dflt": "scaled",
"editType": "calc",
"valType": "enumerated",
"values": [
"scaled",
- "absolute"
+ "absolute",
+ "raw"
]
},
"sizeref": {
- "description": "Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum \"time\" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5* With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.",
+ "description": "Adjusts the cone size scaling. The size of the cones is determined by their u/v/w norm multiplied a factor and `sizeref`. This factor (computed internally) corresponds to the minimum \"time\" to travel across two successive x/y/z positions at the average velocity of those two successive positions. All cones in a given trace use the same factor. With `sizemode` set to *raw*, its default value is *1*. With `sizemode` set to *scaled*, `sizeref` is unitless, its default value is *0.5*. With `sizemode` set to *absolute*, `sizeref` has the same units as the u/v/w vector field, its the default value is half the sample's maximum vector norm.",
"editType": "calc",
"min": 0,
"valType": "number"