From 5f8ff4de1733b85aeabdffde24b2b9f6c3d4516f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 8 Apr 2016 13:02:49 -0400 Subject: [PATCH 1/2] include trace opacity in mesh3d options --- src/traces/scatter3d/convert.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/traces/scatter3d/convert.js b/src/traces/scatter3d/convert.js index 2e1b4aec6a2..01588df0ed6 100644 --- a/src/traces/scatter3d/convert.js +++ b/src/traces/scatter3d/convert.js @@ -407,7 +407,10 @@ proto.update = function(data) { var delaunayOptions = constructDelaunay( options.position, options.delaunayColor, - options.delaunayAxis); + options.delaunayAxis + ); + delaunayOptions.opacity = data.opacity; + if(this.delaunayMesh) { this.delaunayMesh.update(delaunayOptions); } else { From 6c086a10e3ee2cdb2eb27b64021be521648232b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 8 Apr 2016 13:05:58 -0400 Subject: [PATCH 2/2] add gl3d cube mock --- test/image/baselines/gl3d_cube.png | Bin 0 -> 24171 bytes test/image/mocks/gl3d_cube.json | 231 +++++++++++++++++++++++++++++ 2 files changed, 231 insertions(+) create mode 100644 test/image/baselines/gl3d_cube.png create mode 100644 test/image/mocks/gl3d_cube.json diff --git a/test/image/baselines/gl3d_cube.png b/test/image/baselines/gl3d_cube.png new file mode 100644 index 0000000000000000000000000000000000000000..8991b54ed9a9ec5d2a194ea43a4d45b4e04bcc2d GIT binary patch literal 24171 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