1 | 'use strict';
|
2 |
|
3 | import FluxRenderer from '../src/FluxRenderer.js';
|
4 | import * as THREE from 'three';
|
5 |
|
6 |
|
7 | var domElement = document.createElement();
|
8 |
|
9 | export function initRenderer(t) {
|
10 | var renderer = new FluxRenderer(domElement, 100, 100);
|
11 |
|
12 | var width = 400;
|
13 | var height = 200;
|
14 | renderer.setSize(width, height);
|
15 | t.equal(renderer._width, width, 'Renderer width updated');
|
16 | t.equal(renderer._height, height, 'Renderer height updated');
|
17 |
|
18 | var setHostCalled = false;
|
19 | renderer._setHost = function () {
|
20 | setHostCalled = true;
|
21 | };
|
22 | renderer.doRender();
|
23 | t.ok(setHostCalled, 'Rendering should call setHost');
|
24 | t.end();
|
25 | }
|
26 |
|
27 | export function selectionMaterial(t) {
|
28 | var renderer = new FluxRenderer(domElement, 100, 100);
|
29 | renderer.setSelectionMaterial({"color":"blue"});
|
30 | t.deepEqual(renderer._selectionControls._selectionMaterial.surface.color, { r:0, g:0, b:1 },
|
31 | 'Selection material should be blue');
|
32 | t.end();
|
33 | }
|
34 |
|
35 | export function selection(t) {
|
36 | var renderer = new FluxRenderer(domElement, 100, 100);
|
37 | var geometry = new THREE.SphereBufferGeometry( 5000, 32, 32 );
|
38 | var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
|
39 | var sphere = new THREE.Mesh( geometry, material );
|
40 | renderer.setSelection([sphere]);
|
41 | t.ok(renderer.getSelection()[sphere.uuid]===sphere, "Should return selected object");
|
42 | t.end();
|
43 | }
|