Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
97f5ecf4
T
three.js
项目概览
车家大少爷
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
97f5ecf4
编写于
5月 17, 2019
作者:
M
Mr.doob
提交者:
GitHub
5月 17, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #16468 from Temdog007/editor/ExtrudeToShape
Editor: Add ExtrudeGeometry options
上级
a4a523a3
684eb5ed
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
156 addition
and
0 deletion
+156
-0
editor/index.html
editor/index.html
+1
-0
editor/js/Sidebar.Geometry.ExtrudeGeometry.js
editor/js/Sidebar.Geometry.ExtrudeGeometry.js
+145
-0
editor/js/Strings.js
editor/js/Strings.js
+10
-0
未找到文件。
editor/index.html
浏览文件 @
97f5ecf4
...
...
@@ -126,6 +126,7 @@
<script
src=
"js/Sidebar.Geometry.BoxGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.CircleGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.CylinderGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.ExtrudeGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.IcosahedronGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.OctahedronGeometry.js"
></script>
<script
src=
"js/Sidebar.Geometry.PlaneGeometry.js"
></script>
...
...
editor/js/Sidebar.Geometry.ExtrudeGeometry.js
0 → 100644
浏览文件 @
97f5ecf4
/**
* @author Temdog007 / http://github.com/Temdog007
*/
Sidebar
.
Geometry
.
ExtrudeGeometry
=
function
(
editor
,
object
)
{
var
strings
=
editor
.
strings
;
var
signals
=
editor
.
signals
;
var
container
=
new
UI
.
Row
();
var
geometry
=
object
.
geometry
;
var
parameters
=
geometry
.
parameters
;
var
options
=
parameters
.
options
;
options
.
curveSegments
=
options
.
curveSegments
!=
undefined
?
options
.
curveSegments
:
12
;
options
.
steps
=
options
.
steps
!=
undefined
?
options
.
steps
:
1
;
options
.
depth
=
options
.
depth
!=
undefined
?
options
.
depth
:
100
;
options
.
bevelThickness
=
options
.
bevelThickness
!==
undefined
?
options
.
bevelThickness
:
6
;
options
.
bevelSize
=
options
.
bevelSize
!==
undefined
?
options
.
bevelSize
:
4
;
options
.
bevelOffset
=
options
.
bevelOffset
!==
undefined
?
options
.
bevelOffset
:
0
;
options
.
bevelSegments
=
options
.
bevelSegments
!==
undefined
?
options
.
bevelSegments
:
3
;
// curveSegments
var
curveSegmentsRow
=
new
UI
.
Row
();
var
curveSegments
=
new
UI
.
Integer
(
options
.
curveSegments
).
onChange
(
update
).
setRange
(
1
,
Infinity
);
curveSegmentsRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/curveSegments
'
)
).
setWidth
(
'
90px
'
)
);
curveSegmentsRow
.
add
(
curveSegments
);
container
.
add
(
curveSegmentsRow
);
// steps
var
stepsRow
=
new
UI
.
Row
();
var
steps
=
new
UI
.
Integer
(
options
.
steps
).
onChange
(
update
).
setRange
(
1
,
Infinity
);
stepsRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/steps
'
)
).
setWidth
(
'
90px
'
)
);
stepsRow
.
add
(
steps
);
container
.
add
(
stepsRow
);
// depth
var
depthRow
=
new
UI
.
Row
();
var
depth
=
new
UI
.
Number
(
options
.
depth
).
onChange
(
update
).
setRange
(
1
,
Infinity
);
depthRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/depth
'
)
).
setWidth
(
'
90px
'
)
);
depthRow
.
add
(
depth
);
container
.
add
(
depthRow
);
// enabled
var
enabledRow
=
new
UI
.
Row
();
var
enabled
=
new
UI
.
Checkbox
(
options
.
bevelEnabled
).
onChange
(
update
);
enabledRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/bevelEnabled
'
)
).
setWidth
(
'
90px
'
)
);
enabledRow
.
add
(
enabled
);
container
.
add
(
enabledRow
);
if
(
options
.
bevelEnabled
===
true
)
{
// thickness
var
thicknessRow
=
new
UI
.
Row
();
var
thickness
=
new
UI
.
Number
(
options
.
bevelThickness
).
onChange
(
update
);
thicknessRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/bevelThickness
'
)
).
setWidth
(
'
90px
'
)
);
thicknessRow
.
add
(
thickness
);
container
.
add
(
thicknessRow
);
// size
var
sizeRow
=
new
UI
.
Row
();
var
size
=
new
UI
.
Number
(
options
.
bevelSize
).
onChange
(
update
);
sizeRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/bevelSize
'
)
).
setWidth
(
'
90px
'
)
);
sizeRow
.
add
(
size
);
container
.
add
(
sizeRow
);
// offset
var
offsetRow
=
new
UI
.
Row
();
var
offset
=
new
UI
.
Number
(
options
.
bevelOffset
).
onChange
(
update
);
offsetRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/bevelOffset
'
)
).
setWidth
(
'
90px
'
)
);
offsetRow
.
add
(
offset
);
container
.
add
(
offsetRow
);
// segments
var
segmentsRow
=
new
UI
.
Row
();
var
segments
=
new
UI
.
Integer
(
options
.
bevelSegments
).
onChange
(
update
).
setRange
(
0
,
Infinity
);
segmentsRow
.
add
(
new
UI
.
Text
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/bevelSegments
'
)
).
setWidth
(
'
90px
'
)
);
segmentsRow
.
add
(
segments
);
container
.
add
(
segmentsRow
);
}
var
button
=
new
UI
.
Button
(
strings
.
getKey
(
'
sidebar/geometry/extrude_geometry/shape
'
)
).
onClick
(
toShape
).
setWidth
(
'
90px
'
).
setMarginLeft
(
'
90px
'
);
container
.
add
(
button
);
//
function
update
()
{
editor
.
execute
(
new
SetGeometryCommand
(
object
,
new
THREE
[
geometry
.
type
](
parameters
.
shapes
,
{
curveSegments
:
curveSegments
.
getValue
(),
steps
:
steps
.
getValue
(),
depth
:
depth
.
getValue
(),
bevelEnabled
:
enabled
.
getValue
(),
bevelThickness
:
thickness
!==
undefined
?
thickness
.
getValue
()
:
options
.
bevelThickness
,
bevelSize
:
size
!==
undefined
?
size
.
getValue
()
:
options
.
bevelSize
,
bevelOffset
:
offset
!==
undefined
?
offset
.
getValue
()
:
options
.
bevelOffset
,
bevelSegments
:
segments
!==
undefined
?
segments
.
getValue
()
:
options
.
bevelSegments
}
)
)
);
}
function
toShape
()
{
editor
.
execute
(
new
SetGeometryCommand
(
object
,
new
THREE
.
ShapeBufferGeometry
(
parameters
.
shapes
,
options
.
curveSegments
)
)
);
}
return
container
;
};
Sidebar
.
Geometry
.
ExtrudeBufferGeometry
=
Sidebar
.
Geometry
.
ExtrudeGeometry
;
editor/js/Strings.js
浏览文件 @
97f5ecf4
...
...
@@ -135,6 +135,16 @@ var Strings = function ( config ) {
'
sidebar/geometry/cylinder_geometry/heightsegments
'
:
'
Height segments
'
,
'
sidebar/geometry/cylinder_geometry/openended
'
:
'
Open ended
'
,
'
sidebar/geometry/extrude_geometry/curveSegments
'
:
'
Curve Segments
'
,
'
sidebar/geometry/extrude_geometry/steps
'
:
'
Steps
'
,
'
sidebar/geometry/extrude_geometry/depth
'
:
'
Depth
'
,
'
sidebar/geometry/extrude_geometry/bevelEnabled
'
:
'
Bevel?
'
,
'
sidebar/geometry/extrude_geometry/bevelThickness
'
:
'
Thickness
'
,
'
sidebar/geometry/extrude_geometry/bevelSize
'
:
'
Size
'
,
'
sidebar/geometry/extrude_geometry/bevelOffset
'
:
'
Offset
'
,
'
sidebar/geometry/extrude_geometry/bevelSegments
'
:
'
Segments
'
,
'
sidebar/geometry/extrude_geometry/shape
'
:
'
Convert to Shape
'
,
'
sidebar/geometry/geometry/vertices
'
:
'
Vertices
'
,
'
sidebar/geometry/geometry/faces
'
:
'
Faces
'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录