Skip to content

Commit 1eb0d97

Browse files
committed
Editor: Add DodecahedronGeometry.
1 parent e8d4429 commit 1eb0d97

File tree

4 files changed

+75
-1
lines changed

4 files changed

+75
-1
lines changed

editor/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@
126126
<script src="js/Sidebar.Geometry.BoxGeometry.js"></script>
127127
<script src="js/Sidebar.Geometry.CircleGeometry.js"></script>
128128
<script src="js/Sidebar.Geometry.CylinderGeometry.js"></script>
129+
<script src="js/Sidebar.Geometry.DodecahedronGeometry.js"></script>
129130
<script src="js/Sidebar.Geometry.ExtrudeGeometry.js"></script>
130131
<script src="js/Sidebar.Geometry.IcosahedronGeometry.js"></script>
131132
<script src="js/Sidebar.Geometry.OctahedronGeometry.js"></script>

editor/js/Menubar.Add.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,22 @@ Menubar.Add = function ( editor ) {
8585
} );
8686
options.add( option );
8787

88+
// Dodecahedron
89+
90+
var option = new UI.Row();
91+
option.setClass( 'option' );
92+
option.setTextContent( strings.getKey( 'menubar/add/dodecahedron' ) );
93+
option.onClick( function () {
94+
95+
var geometry = new THREE.DodecahedronBufferGeometry( 1, 0 );
96+
var mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
97+
mesh.name = 'Dodecahedron';
98+
99+
editor.execute( new AddObjectCommand( editor, mesh ) );
100+
101+
} );
102+
options.add( option );
103+
88104
// Icosahedron
89105

90106
var option = new UI.Row();
@@ -162,7 +178,7 @@ Menubar.Add = function ( editor ) {
162178
editor.execute( new AddObjectCommand( editor, mesh ) );
163179

164180
} );
165-
options.add( option )
181+
options.add( option );
166182

167183
// Ring
168184

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/**
2+
* @author mrdoob / http://mrdoob.com/
3+
*/
4+
5+
Sidebar.Geometry.DodecahedronGeometry = function ( editor, object ) {
6+
7+
var strings = editor.strings;
8+
9+
var container = new UI.Row();
10+
11+
var geometry = object.geometry;
12+
var parameters = geometry.parameters;
13+
14+
// radius
15+
16+
var radiusRow = new UI.Row();
17+
var radius = new UI.Number( parameters.radius ).onChange( update );
18+
19+
radiusRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/dodecahedron_geometry/radius' ) ).setWidth( '90px' ) );
20+
radiusRow.add( radius );
21+
22+
container.add( radiusRow );
23+
24+
// detail
25+
26+
var detailRow = new UI.Row();
27+
var detail = new UI.Integer( parameters.detail ).setRange( 0, Infinity ).onChange( update );
28+
29+
detailRow.add( new UI.Text( strings.getKey( 'sidebar/geometry/dodecahedron_geometry/detail' ) ).setWidth( '90px' ) );
30+
detailRow.add( detail );
31+
32+
container.add( detailRow );
33+
34+
//
35+
36+
function update() {
37+
38+
editor.execute( new SetGeometryCommand( editor, object, new THREE[ geometry.type ](
39+
radius.getValue(),
40+
detail.getValue()
41+
) ) );
42+
43+
}
44+
45+
return container;
46+
47+
};
48+
49+
Sidebar.Geometry.DodecahedronBufferGeometry = Sidebar.Geometry.DodecahedronGeometry;

editor/js/Strings.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ var Strings = function ( config ) {
4141
'menubar/add/cylinder': 'Cylinder',
4242
'menubar/add/ring': 'Ring',
4343
'menubar/add/sphere': 'Sphere',
44+
'menubar/add/dodecahedron': 'Dodecahedron',
4445
'menubar/add/icosahedron': 'Icosahedron',
4546
'menubar/add/octahedron': 'Octahedron',
4647
'menubar/add/tetrahedron': 'Tetrahedron',
@@ -148,6 +149,9 @@ var Strings = function ( config ) {
148149
'sidebar/geometry/geometry/vertices': 'Vertices',
149150
'sidebar/geometry/geometry/faces': 'Faces',
150151

152+
'sidebar/geometry/dodecahedron_geometry/radius': 'Radius',
153+
'sidebar/geometry/dodecahedron_geometry/detail': 'Detail',
154+
151155
'sidebar/geometry/icosahedron_geometry/radius': 'Radius',
152156
'sidebar/geometry/icosahedron_geometry/detail': 'Detail',
153157

@@ -337,6 +341,7 @@ var Strings = function ( config ) {
337341
'menubar/add/cylinder': '圆柱体',
338342
'menubar/add/ring': '环',
339343
'menubar/add/sphere': '球体',
344+
'menubar/add/dodecahedron': 'Dodecahedron',
340345
'menubar/add/icosahedron': '二十面体',
341346
'menubar/add/octahedron': '八面体',
342347
'menubar/add/tetrahedron': '四面体',
@@ -434,6 +439,9 @@ var Strings = function ( config ) {
434439
'sidebar/geometry/geometry/vertices': '顶点',
435440
'sidebar/geometry/geometry/faces': '面',
436441

442+
'sidebar/geometry/dodecahedron_geometry/radius': '半径',
443+
'sidebar/geometry/dodecahedron_geometry/detail': '面片分段',
444+
437445
'sidebar/geometry/icosahedron_geometry/radius': '半径',
438446
'sidebar/geometry/icosahedron_geometry/detail': '面片分段',
439447

0 commit comments

Comments
 (0)