PageSourceSearch

https://www.johnnyslack.co/js/lib/three/threex.vertexanimation.js

js johnnyslack.co collected 2026-10-05 03:15:22 UTC 1,005 bytes, 37 lines download raw bytes

1/**
2 * declare THREEx namespace
3 * @type {[type]}
4 */
5var THREEx	= THREEx	|| {};
6
7/**
8 * THREEx extension
9 * 
10 * @constructor
11 */
12THREEx.VertexAnimation 	= function(geometry, transformFct){
13	transformFct	= transformFct || function(originPosition, actualPosition, now){
14		var angle	= now*2 + actualPosition.y * 10;
15		actualPosition.x= originPosition.x + Math.cos(angle)*0.1;
16	}
17	console.assert(geometry instanceof THREE.Geometry);
18
19	// backup original vertices
20	var nVertices	= geometry.vertices.length;
21	var origVertices= new Array(nVertices)
22	for(var i = 0; i < nVertices; i++){
23		origVertices[i]	= geometry.vertices[i].clone();
24	}
25	geometry._origVertices	= origVertices
26		
27	// do the actual animation
28	this.update	= function(delta, now){
29		for(var i = 0; i < geometry.vertices.length; i++) {
30			var origin	= geometry._origVertices[i];
31			var position	= geometry.vertices[i];
32			transformFct(origin, position, delta, now);
33		}
34		// mark the vertices as dirty
35		geometry.verticesNeedUpdate = true;		
36	}
37}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.