Creates a Shape from the points. The first point defines the offset, then successive points are added to the curves array as LineCurves. If no points are specified, an empty shape is created and the .currentPoint is set to the origin.
Creates a Path from the points. The first point defines the offset, then successive points are added to the curves array as LineCurves. If no points are specified, an empty path is created and the .currentPoint is set to the origin.
The constructor take no parameters.
This constructor creates a new Curve.
This value determines the amount of divisions when calculating the cumulative segment lengths of a curve via .getLengths. To ensure precision when using methods like .getSpacedPoints, it is recommended to increase .arcLengthDivisions if the curve is very large. Default is 200.
Whether or not to automatically close the path.
The current offset of the path. Any new Curve added will start here.
The array of Curves.
An array of paths that define the holes in the shape.
UUID of this instance. This gets automatically assigned, so this shouldn't be edited.
Adds an absolutely positioned EllipseCurve to the path.
The absolute center of the arc.
The absolute center of the arc.
The start angle in radians.
The end angle in radians.
Sweep the arc clockwise. Defaults to false.
Adds a lineCurve to close the path.
Generates the Frenet Frames. Requires a curve definition in 3D space. Used in geometries like TubeGeometry or ExtrudeGeometry.
Get list of cumulative curve lengths of the curves in the .curves array.
Get total curve arc length.
Get list of cumulative segment lengths.
Returns an array of points representing a sequence of curves. The division parameter defines the number of pieces each curve is divided into. However, for optimization and quality purposes, the actual sampling resolution for each curve depends on its type. For example, for a LineCurve, the returned number of points is always just 2.
A position on the curve according to the arc length. Must be in the range [ 0, 1 ].
If specified, the result will be copied into this Vector, otherwise a new Vector will be created.
Returns a vector for a given position on the curve according to the arc length.
A position on the curve. Must be in the range [ 0, 1 ].
If specified, the result will be copied into this Vector, otherwise a new Vector will be created.
Returns a unit vector tangent at t. If the derived curve does not implement its tangent derivation, two points a small delta apart will be used to find its gradient which seems to give a reasonable approximation.
A position on the curve according to the arc length. Must be in the range [ 0, 1 ].
If specified, the result will be copied into this Vector, otherwise a new Vector will be created.
Returns tangent at a point which is equidistant to the ends of the curve from the point given in .getTangent.
Given u in the range ( 0 .. 1 ), returns t also in the range ( 0 .. 1 ). u and t can then be used to give you points which are equidistant from the ends of the curve, using .getPoint.
Connects a new SplineCurve onto the path.
Returns a JSON object representation of this instance.
Update the cumlative segment distance cache. The method must be called every time curve parameters are changed. If an updated curve is part of a composed curve like CurvePath, .updateArcLengths() must be called on the composed curve, too.
Generated using TypeDoc
Defines an arbitrary 2d shape plane using paths with optional holes. It can be used with ExtrudeGeometry, ShapeGeometry, to get points, or to get triangulated faces.
Code Example
Examples
geometry / shapes | geometry / extrude / shapes | geometry / extrude / shapes2