Skip to content

Commit

Permalink
Update to ZincJS0.29.10 which supports geoemtry cutting to be perform…
Browse files Browse the repository at this point in the history
…ed on a worker.
  • Loading branch information
alan-wu committed May 9, 2019
1 parent f8c08b2 commit ef1e1ca
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 29 deletions.
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"webpack": "^4.6.0",
"webpack-cli": "^2.1.2",
"webpack-jquery-ui": "^1.0.0",
"zincjs": "^0.29.9"
"zincjs": "^0.29.10"
},
"dependencies": {}
}
65 changes: 40 additions & 25 deletions src/utilities/csg.js
Original file line number Diff line number Diff line change
Expand Up @@ -190,31 +190,44 @@ exports.csg = function(sceneIn, zincRendererIn) {
if (mergedGlyphGeometry === undefined && currentGlyphs) {
mergedGlyphGeometry = csgScene.addZincGeometry(currentGlyphs, 45121, 0xffffff, 1.0);
}
var intersect = undefined;
var csg1 = zincCSG.intersect(boxGeometry);
if (glyphsetCSG) {
var newGeometry = csg1.getGeometry();
intersect = glyphsetCSG.intersect(newGeometry).getGlyphset();
} else {
intersect = csg1.getGeometry();
}
if (intersect) {
if (intersect.isGeometry) {
intersect.morph.material.color.set(0xff00ff);
intersect.groupName = "intersect";
scene.addGeometry(intersect);
} else if (intersect.isGlyphset) {
console.log(intersect.getGroup());
intersect.groupName = "intersect";
scene.addGlyphset(intersect);
}
}
if (glyphsetCSG && mergedGlyphGeometry) {
var intersect2 = csg1.subtract(mergedGlyphGeometry).getGeometry();
intersect2.morph.material.color.set(0xffffff);
intersect2.groupName = "intersect";
scene.addGeometry(intersect2);
}
zincCSG.intersect(boxGeometry).then((csg1) => {
var intersect = undefined;
if (glyphsetCSG) {
var newGeometry = csg1.getGeometry();
intersect = glyphsetCSG.intersect(newGeometry).getGlyphset();
} else {
intersect = csg1.getGeometry();
}
if (intersect) {
if (intersect.isGeometry) {
intersect.morph.material.color.set(0xff00ff);
intersect.groupName = "intersect";
scene.addGeometry(intersect);
} else if (intersect.isGlyphset) {
console.log(intersect.getGroup());
intersect.groupName = "intersect";
scene.addGlyphset(intersect);
}
}
if (glyphsetCSG && mergedGlyphGeometry) {
csg1.subtract(mergedGlyphGeometry).then((resultCSG) => {
var intersect2 = resultCSG.getGeometry();
intersect2.morph.material.color.set(0xffffff);
intersect2.groupName = "intersect";
scene.addGeometry(intersect2);
resultCSG.terminateWorker();
}).catch(
(reason) => {
console.log(reason);
}
);
}
csg1.terminateWorker();
}).catch(
(reason) => {
console.log(reason);
}
);
}
}

Expand Down Expand Up @@ -391,6 +404,8 @@ exports.csg = function(sceneIn, zincRendererIn) {

this.reset = function() {
csgScene.clearAll();
if (zincCSG)
zincCSG.terminateWorker();
zincCSG = undefined;
boxGeometry = undefined;
currentGeometry = undefined;
Expand Down

0 comments on commit ef1e1ca

Please sign in to comment.