Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mrdoob/three.js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0ee09c94b04b5551d53d82461bbaec31c3b63fb7
Choose a base ref
...
head repository: mrdoob/three.js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3b7fd5487c47977f576679c04b0a559a8607e92d
Choose a head ref
  • 4 commits
  • 23 files changed
  • 2 contributors

Commits on May 30, 2019

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b8a14f7 View commit details
  2. Merge pull request #16614 from Mugen87/dev32

    JSM: Added module and TS files for fat lines.
    Mugen87 authored May 30, 2019
    Copy the full SHA
    394a496 View commit details
  3. Triangle: fix import d.ts

    sciecode committed May 30, 2019
    Copy the full SHA
    2ba4234 View commit details
  4. Merge pull request #16616 from sciecode/dev2

    Triangle: fix import d.ts
    Mugen87 authored May 30, 2019
    Copy the full SHA
    3b7fd54 View commit details
11 changes: 11 additions & 0 deletions docs/manual/en/introduction/Import-via-modules.html
Original file line number Diff line number Diff line change
@@ -133,6 +133,17 @@ <h2>Importable Examples</h2>
<li>TeapotBufferGeometry</li>
</ul>
</li>
<li>lines
<ul>
<li>Line2</li>
<li>LineGeometry</li>
<li>LineMaterial</li>
<li>LineSegments2</li>
<li>LineSegmentsGeometry</li>
<li>Wireframe</li>
<li>WireframeGeometry2</li>
</ul>
</li>
<li>loaders
<ul>
<li>3MFLoader</li>
2 changes: 1 addition & 1 deletion examples/js/lines/Line2.js
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ THREE.Line2.prototype = Object.assign( Object.create( THREE.LineSegments2.protot

isLine2: true,

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/LineGeometry.js
Original file line number Diff line number Diff line change
@@ -87,7 +87,7 @@ THREE.LineGeometry.prototype = Object.assign( Object.create( THREE.LineSegmentsG

},

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/LineSegments2.js
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ THREE.LineSegments2.prototype = Object.assign( Object.create( THREE.Mesh.prototy

}() ),

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

4 changes: 1 addition & 3 deletions examples/js/lines/LineSegmentsGeometry.js
Original file line number Diff line number Diff line change
@@ -9,8 +9,6 @@ THREE.LineSegmentsGeometry = function () {

this.type = 'LineSegmentsGeometry';

var plane = new THREE.BufferGeometry();

var positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ];
var uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ];
var index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ];
@@ -249,7 +247,7 @@ THREE.LineSegmentsGeometry.prototype = Object.assign( Object.create( THREE.Insta

},

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/Wireframe.js
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ THREE.Wireframe.prototype = Object.assign( Object.create( THREE.Mesh.prototype )

}() ),

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

2 changes: 1 addition & 1 deletion examples/js/lines/WireframeGeometry2.js
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ THREE.WireframeGeometry2.prototype = Object.assign( Object.create( THREE.LineSeg

isWireframeGeometry2: true,

copy: function ( source ) {
copy: function ( /* source */ ) {

// todo

8 changes: 8 additions & 0 deletions examples/jsm/lines/Line2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { LineGeometry } from './LineGeometry';
import { LineSegments2 } from './LineSegments2';
import { LineMaterial } from './LineMaterial';

export class Line2 extends LineSegments2 {
constructor(geometry?: LineGeometry, material?: LineMaterial);
isLine2: boolean;
}
38 changes: 38 additions & 0 deletions examples/jsm/lines/Line2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/


import { LineSegments2 } from "../lines/LineSegments2.js";
import { LineGeometry } from "../lines/LineGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var Line2 = function ( geometry, material ) {

LineSegments2.call( this );

this.type = 'Line2';

this.geometry = geometry !== undefined ? geometry : new LineGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

Line2.prototype = Object.assign( Object.create( LineSegments2.prototype ), {

constructor: Line2,

isLine2: true,

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { Line2 };
12 changes: 12 additions & 0 deletions examples/jsm/lines/LineGeometry.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
Line
} from '../../../src/Three';

import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class LineGeometry extends LineSegmentsGeometry {
constructor();
isLineGeometry: boolean;

fromLine(line: Line): this;
}
103 changes: 103 additions & 0 deletions examples/jsm/lines/LineGeometry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/


import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";

var LineGeometry = function () {

LineSegmentsGeometry.call( this );

this.type = 'LineGeometry';

};

LineGeometry.prototype = Object.assign( Object.create( LineSegmentsGeometry.prototype ), {

constructor: LineGeometry,

isLineGeometry: true,

setPositions: function ( array ) {

// converts [ x1, y1, z1, x2, y2, z2, ... ] to pairs format

var length = array.length - 3;
var points = new Float32Array( 2 * length );

for ( var i = 0; i < length; i += 3 ) {

points[ 2 * i ] = array[ i ];
points[ 2 * i + 1 ] = array[ i + 1 ];
points[ 2 * i + 2 ] = array[ i + 2 ];

points[ 2 * i + 3 ] = array[ i + 3 ];
points[ 2 * i + 4 ] = array[ i + 4 ];
points[ 2 * i + 5 ] = array[ i + 5 ];

}

LineSegmentsGeometry.prototype.setPositions.call( this, points );

return this;

},

setColors: function ( array ) {

// converts [ r1, g1, b1, r2, g2, b2, ... ] to pairs format

var length = array.length - 3;
var colors = new Float32Array( 2 * length );

for ( var i = 0; i < length; i += 3 ) {

colors[ 2 * i ] = array[ i ];
colors[ 2 * i + 1 ] = array[ i + 1 ];
colors[ 2 * i + 2 ] = array[ i + 2 ];

colors[ 2 * i + 3 ] = array[ i + 3 ];
colors[ 2 * i + 4 ] = array[ i + 4 ];
colors[ 2 * i + 5 ] = array[ i + 5 ];

}

LineSegmentsGeometry.prototype.setColors.call( this, colors );

return this;

},

fromLine: function ( line ) {

var geometry = line.geometry;

if ( geometry.isGeometry ) {

this.setPositions( geometry.vertices );

} else if ( geometry.isBufferGeometry ) {

this.setPositions( geometry.position.array ); // assumes non-indexed

}

// set colors, maybe

return this;

},

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineGeometry };
28 changes: 28 additions & 0 deletions examples/jsm/lines/LineMaterial.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import {
Color,
MaterialParameters,
ShaderMaterial,
Vector2
} from '../../../src/Three';

export interface LineMaterialParameters extends MaterialParameters {
color?: number;
dashed?: boolean;
dashScale?: number;
dashSize?: number;
gapSize?: number;
linewidth?: number;
resolution?: Vector2;
}

export class LineMaterial extends ShaderMaterial {
constructor(parameters?: LineMaterialParameters);
color: Color;
dashed: boolean;
dashScale: number;
dashSize: number;
gapSize: number;
isLineMaterial: boolean;
linewidth: number;
resolution: Vector2;
}
401 changes: 401 additions & 0 deletions examples/jsm/lines/LineMaterial.js

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions examples/jsm/lines/LineSegments2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import {
Mesh,
} from '../../../src/Three';

import { LineMaterial } from './LineMaterial';
import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class LineSegments2 extends Mesh {
constructor(geometry?: LineSegmentsGeometry, material?: LineMaterial);
isLineSegments2: boolean;

computeLineDistances(): this;
}
76 changes: 76 additions & 0 deletions examples/jsm/lines/LineSegments2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Mesh,
Vector3
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var LineSegments2 = function ( geometry, material ) {

Mesh.call( this );

this.type = 'LineSegments2';

this.geometry = geometry !== undefined ? geometry : new LineSegmentsGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

LineSegments2.prototype = Object.assign( Object.create( Mesh.prototype ), {

constructor: LineSegments2,

isLineSegments2: true,

computeLineDistances: ( function () { // for backwards-compatability, but could be a method of LineSegmentsGeometry...

var start = new Vector3();
var end = new Vector3();

return function computeLineDistances() {

var geometry = this.geometry;

var instanceStart = geometry.attributes.instanceStart;
var instanceEnd = geometry.attributes.instanceEnd;
var lineDistances = new Float32Array( 2 * instanceStart.data.count );

for ( var i = 0, j = 0, l = instanceStart.data.count; i < l; i ++, j += 2 ) {

start.fromBufferAttribute( instanceStart, i );
end.fromBufferAttribute( instanceEnd, i );

lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ];
lineDistances[ j + 1 ] = lineDistances[ j ] + start.distanceTo( end );

}

var instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1

geometry.addAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0
geometry.addAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1

return this;

};

}() ),

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineSegments2 };
23 changes: 23 additions & 0 deletions examples/jsm/lines/LineSegmentsGeometry.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import {
EdgesGeometry,
InstancedBufferGeometry,
LineSegments,
Matrix4,
Mesh,
WireframeGeometry
} from '../../../src/Three';

export class LineSegmentsGeometry extends InstancedBufferGeometry {
constructor();
isLineSegmentsGeometry: boolean;

applyMatrix(matrix: Matrix4): this;
computeBoundingBox(): void;
computeBoundingSphere(): void;
fromEdgesGeometry(geometry: WireframeGeometry): this;
fromLineSegements(lineSegments: LineSegments): this;
fromMesh(mesh: Mesh): this;
fromWireframeGeometry(geometry: EdgesGeometry): this;
setColors(array: number[] | Float32Array): this;
setPositions(array: number[] | Float32Array): this;
}
271 changes: 271 additions & 0 deletions examples/jsm/lines/LineSegmentsGeometry.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
Box3,
Float32BufferAttribute,
InstancedBufferGeometry,
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Sphere,
Vector3,
WireframeGeometry
} from "../../../build/three.module.js";

var LineSegmentsGeometry = function () {

InstancedBufferGeometry.call( this );

this.type = 'LineSegmentsGeometry';

var positions = [ - 1, 2, 0, 1, 2, 0, - 1, 1, 0, 1, 1, 0, - 1, 0, 0, 1, 0, 0, - 1, - 1, 0, 1, - 1, 0 ];
var uvs = [ - 1, 2, 1, 2, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 2, 1, - 2 ];
var index = [ 0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5 ];

this.setIndex( index );
this.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) );
this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) );

};

LineSegmentsGeometry.prototype = Object.assign( Object.create( InstancedBufferGeometry.prototype ), {

constructor: LineSegmentsGeometry,

isLineSegmentsGeometry: true,

applyMatrix: function ( matrix ) {

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined ) {

matrix.applyToBufferAttribute( start );

matrix.applyToBufferAttribute( end );

start.data.needsUpdate = true;

}

if ( this.boundingBox !== null ) {

this.computeBoundingBox();

}

if ( this.boundingSphere !== null ) {

this.computeBoundingSphere();

}

return this;

},

setPositions: function ( array ) {

var lineSegments;

if ( array instanceof Float32Array ) {

lineSegments = array;

} else if ( Array.isArray( array ) ) {

lineSegments = new Float32Array( array );

}

var instanceBuffer = new InstancedInterleavedBuffer( lineSegments, 6, 1 ); // xyz, xyz

this.addAttribute( 'instanceStart', new InterleavedBufferAttribute( instanceBuffer, 3, 0 ) ); // xyz
this.addAttribute( 'instanceEnd', new InterleavedBufferAttribute( instanceBuffer, 3, 3 ) ); // xyz

//

this.computeBoundingBox();
this.computeBoundingSphere();

return this;

},

setColors: function ( array ) {

var colors;

if ( array instanceof Float32Array ) {

colors = array;

} else if ( Array.isArray( array ) ) {

colors = new Float32Array( array );

}

var instanceColorBuffer = new InstancedInterleavedBuffer( colors, 6, 1 ); // rgb, rgb

this.addAttribute( 'instanceColorStart', new InterleavedBufferAttribute( instanceColorBuffer, 3, 0 ) ); // rgb
this.addAttribute( 'instanceColorEnd', new InterleavedBufferAttribute( instanceColorBuffer, 3, 3 ) ); // rgb

return this;

},

fromWireframeGeometry: function ( geometry ) {

this.setPositions( geometry.attributes.position.array );

return this;

},

fromEdgesGeometry: function ( geometry ) {

this.setPositions( geometry.attributes.position.array );

return this;

},

fromMesh: function ( mesh ) {

this.fromWireframeGeometry( new WireframeGeometry( mesh.geometry ) );

// set colors, maybe

return this;

},

fromLineSegements: function ( lineSegments ) {

var geometry = lineSegments.geometry;

if ( geometry.isGeometry ) {

this.setPositions( geometry.vertices );

} else if ( geometry.isBufferGeometry ) {

this.setPositions( geometry.position.array ); // assumes non-indexed

}

// set colors, maybe

return this;

},

computeBoundingBox: function () {

var box = new Box3();

return function computeBoundingBox() {

if ( this.boundingBox === null ) {

this.boundingBox = new Box3();

}

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined && end !== undefined ) {

this.boundingBox.setFromBufferAttribute( start );

box.setFromBufferAttribute( end );

this.boundingBox.union( box );

}

};

}(),

computeBoundingSphere: function () {

var vector = new Vector3();

return function computeBoundingSphere() {

if ( this.boundingSphere === null ) {

this.boundingSphere = new Sphere();

}

if ( this.boundingBox === null ) {

this.computeBoundingBox();

}

var start = this.attributes.instanceStart;
var end = this.attributes.instanceEnd;

if ( start !== undefined && end !== undefined ) {

var center = this.boundingSphere.center;

this.boundingBox.getCenter( center );

var maxRadiusSq = 0;

for ( var i = 0, il = start.count; i < il; i ++ ) {

vector.fromBufferAttribute( start, i );
maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) );

vector.fromBufferAttribute( end, i );
maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) );

}

this.boundingSphere.radius = Math.sqrt( maxRadiusSq );

if ( isNaN( this.boundingSphere.radius ) ) {

console.error( 'THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.', this );

}

}

};

}(),

toJSON: function () {

// todo

},

clone: function () {

// todo

},

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { LineSegmentsGeometry };
13 changes: 13 additions & 0 deletions examples/jsm/lines/Wireframe.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import {
Mesh,
} from '../../../src/Three';

import { LineMaterial } from './LineMaterial';
import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class Wireframe extends Mesh {
constructor(geometry?: LineSegmentsGeometry, material?: LineMaterial);
isWireframe: boolean;

computeLineDistances(): this;
}
76 changes: 76 additions & 0 deletions examples/jsm/lines/Wireframe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
InstancedInterleavedBuffer,
InterleavedBufferAttribute,
Mesh,
Vector3
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";
import { LineMaterial } from "../lines/LineMaterial.js";

var Wireframe = function ( geometry, material ) {

Mesh.call( this );

this.type = 'Wireframe';

this.geometry = geometry !== undefined ? geometry : new LineSegmentsGeometry();
this.material = material !== undefined ? material : new LineMaterial( { color: Math.random() * 0xffffff } );

};

Wireframe.prototype = Object.assign( Object.create( Mesh.prototype ), {

constructor: Wireframe,

isWireframe: true,

computeLineDistances: ( function () { // for backwards-compatability, but could be a method of LineSegmentsGeometry...

var start = new Vector3();
var end = new Vector3();

return function computeLineDistances() {

var geometry = this.geometry;

var instanceStart = geometry.attributes.instanceStart;
var instanceEnd = geometry.attributes.instanceEnd;
var lineDistances = new Float32Array( 2 * instanceStart.data.count );

for ( var i = 0, j = 0, l = instanceStart.data.count; i < l; i ++, j += 2 ) {

start.fromBufferAttribute( instanceStart, i );
end.fromBufferAttribute( instanceEnd, i );

lineDistances[ j ] = ( j === 0 ) ? 0 : lineDistances[ j - 1 ];
lineDistances[ j + 1 ] = lineDistances[ j ] + start.distanceTo( end );

}

var instanceDistanceBuffer = new InstancedInterleavedBuffer( lineDistances, 2, 1 ); // d0, d1

geometry.addAttribute( 'instanceDistanceStart', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 0 ) ); // d0
geometry.addAttribute( 'instanceDistanceEnd', new InterleavedBufferAttribute( instanceDistanceBuffer, 1, 1 ) ); // d1

return this;

};

}() ),

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { Wireframe };
11 changes: 11 additions & 0 deletions examples/jsm/lines/WireframeGeometry2.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import {
BufferGeometry,
Geometry
} from '../../../src/Three';

import { LineSegmentsGeometry } from './LineSegmentsGeometry';

export class WireframeGeometry2 extends LineSegmentsGeometry {
constructor(geometry: Geometry | BufferGeometry);
isWireframeGeometry2: boolean;
}
39 changes: 39 additions & 0 deletions examples/jsm/lines/WireframeGeometry2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* @author WestLangley / http://github.com/WestLangley
*
*/

import {
WireframeGeometry
} from "../../../build/three.module.js";
import { LineSegmentsGeometry } from "../lines/LineSegmentsGeometry.js";

var WireframeGeometry2 = function ( geometry ) {

LineSegmentsGeometry.call( this );

this.type = 'WireframeGeometry2';

this.fromWireframeGeometry( new WireframeGeometry( geometry ) );

// set colors, maybe

};

WireframeGeometry2.prototype = Object.assign( Object.create( LineSegmentsGeometry.prototype ), {

constructor: WireframeGeometry2,

isWireframeGeometry2: true,

copy: function ( /* source */ ) {

// todo

return this;

}

} );

export { WireframeGeometry2 };
1 change: 1 addition & 0 deletions src/math/Triangle.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Vector2 } from './Vector2';
import { Vector3 } from './Vector3';
import { Plane } from './Plane';
import { Box3 } from './Box3';
8 changes: 8 additions & 0 deletions utils/modularize.js
Original file line number Diff line number Diff line change
@@ -48,6 +48,14 @@ var files = [
{ path: 'geometries/ParametricGeometries.js', dependencies: [], ignoreList: [] },
{ path: 'geometries/TeapotBufferGeometry.js', dependencies: [], ignoreList: [] },

{ path: 'lines/Line2.js', dependencies: [ { name: 'LineSegments2', path: 'lines/LineSegments2.js' }, { name: 'LineGeometry', path: 'lines/LineGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/LineGeometry.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' } ], ignoreList: [] },
{ path: 'lines/LineMaterial.js', dependencies: [], ignoreList: [] },
{ path: 'lines/LineSegments2.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/LineSegmentsGeometry.js', dependencies: [], ignoreList: [] },
{ path: 'lines/Wireframe.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' }, { name: 'LineMaterial', path: 'lines/LineMaterial.js' } ], ignoreList: [] },
{ path: 'lines/WireframeGeometry2.js', dependencies: [ { name: 'LineSegmentsGeometry', path: 'lines/LineSegmentsGeometry.js' } ], ignoreList: [] },

{ path: 'loaders/3MFLoader.js', dependencies: [], ignoreList: [] },
{ path: 'loaders/AMFLoader.js', dependencies: [], ignoreList: [] },
{ path: 'loaders/AssimpJSONLoader.js', dependencies: [], ignoreList: [] },