Skip to content

Commit 141e8a4

Browse files
committed
don't make three.js a dependency
So it doesn’t matter what version of three.js is installed in the project.
1 parent e373fea commit 141e8a4

File tree

5 files changed

+13
-18
lines changed

5 files changed

+13
-18
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ Can create both `binary` and `ascii` STL's.
66
# Example
77

88
```javascript
9-
import 'three.js';
9+
import 'mrdoob/three.js/three.js';
1010
import { saveAs } from 'file-saver';
1111
import * as exportSTL from 'Doodle3D/ThreeJS-export-STL';
1212

13-
const geometry = new THREE.BoxGeometry(1, 1, 1);
13+
const geometry = new THREE.BoxGeometry(1, 1, 1).clone();
1414
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
1515
const mesh = new THREE.Mesh(geometry, material);
1616

example/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'three.js';
1+
import 'mrdoob/three.js';
22
import { saveAs } from 'file-saver';
33
import { fromMesh, mimeType } from 'src/index.js';
44

@@ -9,7 +9,7 @@ const camera = new THREE.PerspectiveCamera(75, canvas.width / canvas.height, 0.1
99

1010
const renderer = new THREE.WebGLRenderer({ canvas });
1111

12-
const geometry = new THREE.BoxGeometry(1, 1, 1);
12+
const geometry = new THREE.BoxGeometry(1, 1, 1).clone();
1313
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
1414
const mesh = new THREE.Mesh(geometry, material);
1515
scene.add(mesh);

jspm.config.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ SystemJS.config({
1010
devConfig: {
1111
"map": {
1212
"plugin-babel": "npm:[email protected]",
13-
"file-saver": "npm:[email protected]"
13+
"file-saver": "npm:[email protected]",
14+
"mrdoob/three.js": "github:mrdoob/three.js@master"
1415
}
1516
},
1617
transpiler: "plugin-babel",
@@ -32,8 +33,6 @@ SystemJS.config({
3233
"npm:*.json",
3334
"github:*/*.json"
3435
],
35-
map: {
36-
"three.js": "github:mrdoob/three.js@master"
37-
},
36+
map: {},
3837
packages: {}
3938
});

package.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
"author": "casper@doodle3d",
2727
"license": "ISC",
2828
"dependencies": {
29-
"jspm": "^0.17.0-beta.32",
30-
"three": "^0.82.1"
29+
"jspm": "^0.17.0-beta.32"
3130
},
3231
"devDependencies": {
3332
"babel-cli": "^6.5.1",
@@ -40,11 +39,10 @@
4039
"directories": {
4140
"lib": "src"
4241
},
43-
"dependencies": {
44-
"three.js": "github:mrdoob/three.js@master"
45-
},
42+
"dependencies": {},
4643
"devDependencies": {
4744
"file-saver": "npm:file-saver@^1.3.3",
45+
"mrdoob/three.js": "github:mrdoob/three.js@master",
4846
"plugin-babel": "npm:systemjs-plugin-babel@^0.0.17"
4947
},
5048
"overrides": {

src/index.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import 'three.js';
2-
31
export const mimeType = 'application/vnd.ms-pki.stl';
42

53
const LITTLE_ENDIAN = true;
@@ -65,15 +63,15 @@ function geometryToData(geometry, binary) {
6563
}
6664

6765
export function fromGeometry(geometry, matrix, binary = true) {
68-
if (geometry instanceof THREE.BufferGeometry) {
66+
if (geometry.type === 'BufferGeometry') {
6967
geometry = new THREE.Geometry().fromBufferGeometry(geometry);
70-
} else if (geometry instanceof THREE.Geometry) {
68+
} else if (geometry.type === 'Geometry') {
7169
geometry = geometry.clone();
7270
} else {
7371
throw new Error('Geometry is not an instance of BufferGeometry or Geometry');
7472
}
7573

76-
if (matrix instanceof THREE.Matrix4) {
74+
if (matrix) {
7775
geometry.applyMatrix(matrix);
7876
}
7977

0 commit comments

Comments
 (0)