source: other-projects/playing-in-the-street/summer-2013/trunk/Playing-in-the-Street-WPF/Content/Web/mrdoob-three.js-4862f5f/editor/js/Sidebar.Geometry.CubeGeometry.js@ 28897

Last change on this file since 28897 was 28897, checked in by davidb, 10 years ago

GUI front-end to server base plus web page content

File size: 2.2 KB
Line 
1Sidebar.Geometry.CubeGeometry = function ( signals, object ) {
2
3 var container = new UI.Panel();
4
5 var geometry = object.geometry;
6
7 // width
8
9 var widthRow = new UI.Panel();
10 var width = new UI.Number( geometry.width ).onChange( update );
11
12 widthRow.add( new UI.Text( 'Width' ).setWidth( '90px' ) );
13 widthRow.add( width );
14
15 container.add( widthRow );
16
17 // height
18
19 var heightRow = new UI.Panel();
20 var height = new UI.Number( geometry.height ).onChange( update );
21
22 heightRow.add( new UI.Text( 'Height' ).setWidth( '90px' ) );
23 heightRow.add( height );
24
25 container.add( heightRow );
26
27 // depth
28
29 var depthRow = new UI.Panel();
30 var depth = new UI.Number( geometry.depth ).onChange( update );
31
32 depthRow.add( new UI.Text( 'Depth' ).setWidth( '90px' ) );
33 depthRow.add( depth );
34
35 container.add( depthRow );
36
37 // widthSegments
38
39 var widthSegmentsRow = new UI.Panel();
40 var widthSegments = new UI.Integer( geometry.widthSegments ).setRange( 1, Infinity ).onChange( update );
41
42 widthSegmentsRow.add( new UI.Text( 'Width segments' ).setWidth( '90px' ) );
43 widthSegmentsRow.add( widthSegments );
44
45 container.add( widthSegmentsRow );
46
47 // heightSegments
48
49 var heightSegmentsRow = new UI.Panel();
50 var heightSegments = new UI.Integer( geometry.heightSegments ).setRange( 1, Infinity ).onChange( update );
51
52 heightSegmentsRow.add( new UI.Text( 'Height segments' ).setWidth( '90px' ) );
53 heightSegmentsRow.add( heightSegments );
54
55 container.add( heightSegmentsRow );
56
57 // depthSegments
58
59 var depthSegmentsRow = new UI.Panel();
60 var depthSegments = new UI.Integer( geometry.depthSegments ).setRange( 1, Infinity ).onChange( update );
61
62 depthSegmentsRow.add( new UI.Text( 'Height segments' ).setWidth( '90px' ) );
63 depthSegmentsRow.add( depthSegments );
64
65 container.add( depthSegmentsRow );
66
67 //
68
69 function update() {
70
71 delete object.__webglInit; // TODO: Remove hack (WebGLRenderer refactoring)
72
73 object.geometry.dispose();
74
75 object.geometry = new THREE.CubeGeometry(
76 width.getValue(),
77 height.getValue(),
78 depth.getValue(),
79 widthSegments.getValue(),
80 heightSegments.getValue(),
81 depthSegments.getValue()
82 );
83
84 object.geometry.computeBoundingSphere();
85
86 signals.objectChanged.dispatch( object );
87
88 }
89
90 return container;
91
92}
Note: See TracBrowser for help on using the repository browser.