2
0

ExplodeModifier.js 1021 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. console.warn( "THREE.ExplodeModifier: As part of the transition to ES6 Modules, the files in 'examples/js' were deprecated in May 2020 (r117) and will be deleted in December 2020 (r124). You can find more information about developing using ES6 Modules in https://threejs.org/docs/#manual/en/introduction/Installation." );
  2. /**
  3. * Make all faces use unique vertices
  4. * so that each face can be separated from others
  5. */
  6. THREE.ExplodeModifier = function () {
  7. };
  8. THREE.ExplodeModifier.prototype.modify = function ( geometry ) {
  9. var vertices = [];
  10. for ( var i = 0, il = geometry.faces.length; i < il; i ++ ) {
  11. var n = vertices.length;
  12. var face = geometry.faces[ i ];
  13. var a = face.a;
  14. var b = face.b;
  15. var c = face.c;
  16. var va = geometry.vertices[ a ];
  17. var vb = geometry.vertices[ b ];
  18. var vc = geometry.vertices[ c ];
  19. vertices.push( va.clone() );
  20. vertices.push( vb.clone() );
  21. vertices.push( vc.clone() );
  22. face.a = n;
  23. face.b = n + 1;
  24. face.c = n + 2;
  25. }
  26. geometry.vertices = vertices;
  27. };