Sidebar.Geometry.TorusKnotGeometry.js 2.4 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4
/**
 * @author mrdoob / http://mrdoob.com/
 */

5 6
Sidebar.Geometry.TorusKnotGeometry = function ( editor, object ) {

i18n  
林炳权 已提交
7 8
	var strings = editor.strings;

M
Mr.doob 已提交
9
	var container = new UI.Row();
M
Mr.doob 已提交
10

11 12
	var geometry = object.geometry;
	var parameters = geometry.parameters;
M
Mr.doob 已提交
13 14 15

	// radius

M
Mr.doob 已提交
16
	var radiusRow = new UI.Row();
M
Mr.doob 已提交
17
	var radius = new UI.Number( parameters.radius ).onChange( update );
M
Mr.doob 已提交
18

i18n  
林炳权 已提交
19
	radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/radius' ) ).setWidth( '90px' ) );
M
Mr.doob 已提交
20 21 22 23 24 25
	radiusRow.add( radius );

	container.add( radiusRow );

	// tube

M
Mr.doob 已提交
26
	var tubeRow = new UI.Row();
M
Mr.doob 已提交
27
	var tube = new UI.Number( parameters.tube ).onChange( update );
M
Mr.doob 已提交
28

i18n  
林炳权 已提交
29
	tubeRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/tube' ) ).setWidth( '90px' ) );
M
Mr.doob 已提交
30 31 32 33 34 35
	tubeRow.add( tube );

	container.add( tubeRow );

	// tubularSegments

M
Mr.doob 已提交
36
	var tubularSegmentsRow = new UI.Row();
M
Mr.doob 已提交
37
	var tubularSegments = new UI.Integer( parameters.tubularSegments ).setRange( 1, Infinity ).onChange( update );
M
Mr.doob 已提交
38

i18n  
林炳权 已提交
39
	tubularSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/tubularsegments' ) ).setWidth( '90px' ) );
M
Mr.doob 已提交
40 41 42 43
	tubularSegmentsRow.add( tubularSegments );

	container.add( tubularSegmentsRow );

44 45 46 47 48
	// radialSegments

	var radialSegmentsRow = new UI.Row();
	var radialSegments = new UI.Integer( parameters.radialSegments ).setRange( 1, Infinity ).onChange( update );

i18n  
林炳权 已提交
49
	radialSegmentsRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/radialsegments' ) ).setWidth( '90px' ) );
50 51 52 53
	radialSegmentsRow.add( radialSegments );

	container.add( radialSegmentsRow );

M
Mr.doob 已提交
54 55
	// p

M
Mr.doob 已提交
56
	var pRow = new UI.Row();
M
Mr.doob 已提交
57
	var p = new UI.Number( parameters.p ).onChange( update );
M
Mr.doob 已提交
58

i18n  
林炳权 已提交
59
	pRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/p' ) ).setWidth( '90px' ) );
M
Mr.doob 已提交
60 61 62 63 64 65
	pRow.add( p );

	container.add( pRow );

	// q

M
Mr.doob 已提交
66
	var qRow = new UI.Row();
M
Mr.doob 已提交
67
	var q = new UI.Number( parameters.q ).onChange( update );
M
Mr.doob 已提交
68

i18n  
林炳权 已提交
69
	qRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/torusKnot_geometry/q' ) ).setWidth( '90px' ) );
M
Mr.doob 已提交
70
	qRow.add( q );
M
Mr.doob 已提交
71 72 73 74 75 76 77 78

	container.add( qRow );


	//

	function update() {

79
		editor.execute( new SetGeometryCommand( editor, object, new THREE[ geometry.type ](
M
Mr.doob 已提交
80 81 82
			radius.getValue(),
			tube.getValue(),
			tubularSegments.getValue(),
83
			radialSegments.getValue(),
M
Mr.doob 已提交
84
			p.getValue(),
85
			q.getValue()
86
		) ) );
M
Mr.doob 已提交
87 88 89 90 91

	}

	return container;

92 93 94
};

Sidebar.Geometry.TorusKnotBufferGeometry = Sidebar.Geometry.TorusKnotGeometry;