From 932327b4ed0c45a4dc7034c4c35fe6302a180ce7 Mon Sep 17 00:00:00 2001 From: felix Date: Thu, 17 Oct 2024 12:12:57 +0100 Subject: [PATCH] Added setFromPoints method to LineGeometry --- examples/jsm/lines/LineGeometry.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/examples/jsm/lines/LineGeometry.js b/examples/jsm/lines/LineGeometry.js index 1314cf6b4d7c0c..70983cf38c4e05 100644 --- a/examples/jsm/lines/LineGeometry.js +++ b/examples/jsm/lines/LineGeometry.js @@ -62,6 +62,31 @@ class LineGeometry extends LineSegmentsGeometry { } + setFromPoints( points ) { + + // converts a vector3 or vector2 array to pairs format + + const length = points.length - 1; + const positions = new Float32Array( 6 * length ); + + for ( let i = 0; i < length; i ++ ) { + + positions[ 6 * i ] = points[ i ].x; + positions[ 6 * i + 1 ] = points[ i ].y; + positions[ 6 * i + 2 ] = points[ i ].z || 0; + + positions[ 6 * i + 3 ] = points[ i + 1 ].x; + positions[ 6 * i + 4 ] = points[ i + 1 ].y; + positions[ 6 * i + 5 ] = points[ i + 1 ].z || 0; + + } + + super.setPositions( positions ); + + return this; + + } + fromLine( line ) { const geometry = line.geometry;