[name]

This class is used to convert a series of shapes to an array of [page:Path]s, for example an SVG shape to a path (see the example below).

Examples

[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]

Constructor

[name]( )

Creates a new ShapePath. Unlike a [page:Path], no points are passed in as the ShapePath is designed to be generated after creation.

Properties

.subPaths : Array

Array of [page:Path]s.

.currentPath : Array

The current [page:Path] that is being generated.

.color : Color

[page:Color] of the shape, by default set to white (0xffffff).

Methods

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

Starts a new [page:Path] and calls [page:Path.moveTo]( x, y ) on that [page:Path]. Also points [page:ShapePath.currentPath currentPath] to that [page:Path].

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

This creates a line from the [page:ShapePath.currentPath currentPath]'s offset to X and Y and updates the offset to X and Y.

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

This creates a quadratic curve from the [page:ShapePath.currentPath currentPath]'s offset to x and y with cpX and cpY as control point and updates the [page:ShapePath.currentPath currentPath]'s offset to x and y.

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

This creates a bezier curve from the [page:ShapePath.currentPath currentPath]'s offset to x and y with cp1X, cp1Y and cp2X, cp2Y as control points and updates the [page:ShapePath.currentPath currentPath]'s offset to x and y.

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

points - An array of [page:Vector2]s

Connects a new [page:SplineCurve] onto the [page:ShapePath.currentPath currentPath].

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

isCCW -- Changes how solids and holes are generated

Converts the [page:ShapePath.subPaths subPaths] array into an array of Shapes. By default solid shapes are defined clockwise (CW) and holes are defined counterclockwise (CCW). If isCCW is set to true, then those are flipped.

Source

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

ShapePath ShapePath ShapePath ShapePath

ShapePath ShapePath ShapePath ShapePath