pointsToStroke static method
BufferGeometry?
pointsToStroke(])
Implementation
static BufferGeometry? pointsToStroke(List<Vector?> points, style, [int? arcDivisions, double? minDistance]) {
// Generates a stroke with some witdh around the given path.
// The path can be open or closed (last point equals to first point)
// Param points: Array of Vector2D (the path). Minimum 2 points.
// Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object
// Params arcDivisions: Arc divisions for round joins and endcaps. (Optional)
// Param minDistance: Points closer to this distance will be merged. (Optional)
// Returns BufferGeometry with stroke triangles (In plane z = 0). UV coordinates are generated ('u' along path. 'v' across it, from left to right)
List<double> vertices = [];
List<double> normals = [];
List<double> uvs = [];
if (SVGLoader.pointsToStrokeWithBuffers(points, style, arcDivisions, minDistance, vertices, normals, uvs, 0) == 0) {
return null;
}
final geometry = BufferGeometry();
geometry.setAttributeFromString('position',Float32BufferAttribute.fromList(Float32List.fromList(vertices), 3, false));
geometry.setAttributeFromString('normal', Float32BufferAttribute.fromList(Float32List.fromList(normals), 3, false));
geometry.setAttributeFromString('uv', Float32BufferAttribute.fromList(Float32List.fromList(uvs), 2, false));
return geometry;
}