形状路径([name])

该类用于转换一系列的形状为一个[page:Path]数组,例如转换SVG中的Path为three.js中的Path(请参阅下方的example)。

例子

[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]

构造函数

[name]( )

创建一个新的ShapePath。和[page:Path]不同,因为ShapePath被设计为在创建之后生成,所以没有点被传入到构造函数中。

属性

[property:Array subPaths]

[page:Path]数组。

[property:Array currentPath]

当前将要被生成的路径。

方法

[method:this moveTo]( [param:Float x], [param:Float y] )

创建一个新的[page:Path],并在[page:Path]上调用[page:Path.moveTo]( x, y )。

[method:this lineTo]( [param:Float x], [param:Float y] )

这一方法从[page:ShapePath.currentPath currentPath](当前路径)的偏移量创建一条到X和Y的线,并将偏移量更新为X和Y。

[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )

这一方法从[page:ShapePath.currentPath currentPath](当前路径)创建一条到X和Y的二次曲线,cpX和cpY作为控制点, 并将[page:ShapePath.currentPath currentPath]的偏移量更新为x和y。

[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )

这一方法从[page:ShapePath.currentPath currentPath](当前路径)的偏移量创建一条到X和Y的贝塞尔曲线, cp1X、cp1Y和cp2X、cp2Y为控制点,并将[page:ShapePath.currentPath currentPath]的偏移量更新为x和y。

[method:this splineThru] ( [param:Array points] )

points - 一个[page:Vector2]数组。

连接一个新的[page:SplineCurve](样条曲线)到[page:ShapePath.currentPath currentPath](当前路径)。

[method:Array toShapes]( [param:Boolean isCCW] )

isCCW -- 更改实体形状和孔洞的生成方式。

将[page:ShapePath.subPaths subPaths]数组转换为到Shapes数组。默认情况下,实体形状按照顺时针(CW)来定义,孔洞按照逆时针(CCW)来定义。 如果isCCW被设置为true,则孔洞和实体形状的定义将被反转。

源代码

[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/Path.js src/extras/core/Path.js]