Sidebar.Geometry.TetrahedronGeometry.js 1.3 KB
Newer Older
M
r112  
Mr.doob 已提交
1
import * as THREE from '../../build/three.module.js';
M
r104  
Mr.doob 已提交
2

M
r112  
Mr.doob 已提交
3 4 5 6
import { UIRow, UIText, UIInteger, UINumber } from './libs/ui.js';

import { SetGeometryCommand } from './commands/SetGeometryCommand.js';

M
r118  
Mr.doob 已提交
7
function SidebarGeometryTetrahedronGeometry( editor, object ) {
M
r104  
Mr.doob 已提交
8 9 10

	var strings = editor.strings;

M
r112  
Mr.doob 已提交
11 12 13
	var signals = editor.signals;

	var container = new UIRow();
M
r104  
Mr.doob 已提交
14 15 16 17 18 19

	var geometry = object.geometry;
	var parameters = geometry.parameters;

	// radius

M
r112  
Mr.doob 已提交
20 21
	var radiusRow = new UIRow();
	var radius = new UINumber( parameters.radius ).onChange( update );
M
r104  
Mr.doob 已提交
22

M
r112  
Mr.doob 已提交
23
	radiusRow.add( new UIText( strings.getKey( 'sidebar/geometry/tetrahedron_geometry/radius' ) ).setWidth( '90px' ) );
M
r104  
Mr.doob 已提交
24 25 26 27 28 29
	radiusRow.add( radius );

	container.add( radiusRow );

	// detail

M
r112  
Mr.doob 已提交
30 31
	var detailRow = new UIRow();
	var detail = new UIInteger( parameters.detail ).setRange( 0, Infinity ).onChange( update );
M
r104  
Mr.doob 已提交
32

M
r112  
Mr.doob 已提交
33
	detailRow.add( new UIText( strings.getKey( 'sidebar/geometry/tetrahedron_geometry/detail' ) ).setWidth( '90px' ) );
M
r104  
Mr.doob 已提交
34 35 36 37 38 39 40 41 42
	detailRow.add( detail );

	container.add( detailRow );


	//

	function update() {

M
r112  
Mr.doob 已提交
43
		editor.execute( new SetGeometryCommand( editor, object, new THREE.TetrahedronBufferGeometry(
M
r104  
Mr.doob 已提交
44 45 46 47
			radius.getValue(),
			detail.getValue()
		) ) );

M
r112  
Mr.doob 已提交
48 49
		signals.objectChanged.dispatch( object );

M
r104  
Mr.doob 已提交
50 51 52 53
	}

	return container;

M
r118  
Mr.doob 已提交
54
}
M
r104  
Mr.doob 已提交
55

M
r112  
Mr.doob 已提交
56
export { SidebarGeometryTetrahedronGeometry };