diff options
author | Valerio Virgillito | 2012-04-11 10:32:52 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-04-11 10:32:52 -0700 |
commit | 9d1c919a4865ab1a2b0b0b9fc893a54b145c82c0 (patch) | |
tree | 9ebbe37bf22cb5280882a0ef5b95196fcf163251 /js/tools/drawing-tool-base.js | |
parent | bd43ce383b050d03b0f92cc923c517febc66ca28 (diff) | |
parent | 36df4f454d64c7b43062835495425021ce955b05 (diff) | |
download | ninja-9d1c919a4865ab1a2b0b0b9fc893a54b145c82c0.tar.gz |
Merge pull request #161 from mqg734/PerspectiveFix
IKNinja-812 - Perspective fix
Diffstat (limited to 'js/tools/drawing-tool-base.js')
-rwxr-xr-x | js/tools/drawing-tool-base.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/js/tools/drawing-tool-base.js b/js/tools/drawing-tool-base.js index 84602186..476dca66 100755 --- a/js/tools/drawing-tool-base.js +++ b/js/tools/drawing-tool-base.js | |||
@@ -227,7 +227,7 @@ exports.DrawingToolBase = Montage.create(Montage, { | |||
227 | //var planeMatInv = planeMat.inverse(); | 227 | //var planeMatInv = planeMat.inverse(); |
228 | var planeMatInv = glmat4.inverse( planeMat, [] ); | 228 | var planeMatInv = glmat4.inverse( planeMat, [] ); |
229 | //var midPt = this.unprojectPoints( s0, s1, planeMat, planeMatInv, s1Proj ); | 229 | //var midPt = this.unprojectPoints( s0, s1, planeMat, planeMatInv, s1Proj ); |
230 | var midPt = this.unprojectPoints( s0, s1, planeMat, planeMatInv, true ); | 230 | // var midPt = this.unprojectPoints( s0, s1, planeMat, planeMatInv, true ); |
231 | 231 | ||
232 | // get the 4 points of the bounding box in 2D space | 232 | // get the 4 points of the bounding box in 2D space |
233 | p0 = MathUtils.transformPoint( s0, planeMatInv ); | 233 | p0 = MathUtils.transformPoint( s0, planeMatInv ); |
@@ -237,7 +237,7 @@ exports.DrawingToolBase = Montage.create(Montage, { | |||
237 | //midPt = s0.add(s1); | 237 | //midPt = s0.add(s1); |
238 | //midPt = midPt.multiply(0.5); | 238 | //midPt = midPt.multiply(0.5); |
239 | //midPt = MathUtils.makeDimension3(midPt); | 239 | //midPt = MathUtils.makeDimension3(midPt); |
240 | midPt = vec3.add(s0, s1, []); | 240 | var midPt = vec3.add(s0, s1, []); |
241 | midPt = vecUtils.vecScale( 3, midPt, 0.5 ); | 241 | midPt = vecUtils.vecScale( 3, midPt, 0.5 ); |
242 | 242 | ||
243 | // the mid point is now relative to the center of the 3D space. To | 243 | // the mid point is now relative to the center of the 3D space. To |
@@ -371,6 +371,9 @@ exports.DrawingToolBase = Montage.create(Montage, { | |||
371 | // determine if the geometry is going to be projected. If so a second projected rectangle is drawn | 371 | // determine if the geometry is going to be projected. If so a second projected rectangle is drawn |
372 | var isProjected = ((MathUtils.fpCmp(thePlane[2],1.0) !== 0) || (MathUtils.fpSign(thePlane[3]) !== 0)); | 372 | var isProjected = ((MathUtils.fpCmp(thePlane[2],1.0) !== 0) || (MathUtils.fpSign(thePlane[3]) !== 0)); |
373 | 373 | ||
374 | // TODO - We no longer need to project drawing after perspective fix. Need to clean up this code. | ||
375 | // For now, just setting isProjected to false so rest of the drawing still works. | ||
376 | isProjected = false; | ||
374 | // get and draw the unprojected object points | 377 | // get and draw the unprojected object points |
375 | var projPtArr = []; | 378 | var projPtArr = []; |
376 | if (isProjected) | 379 | if (isProjected) |
@@ -442,7 +445,7 @@ exports.DrawingToolBase = Montage.create(Montage, { | |||
442 | flatMat = divMat; | 445 | flatMat = divMat; |
443 | flatMatSafe = MathUtils.scientificToDecimal(flatMat, 10); | 446 | flatMatSafe = MathUtils.scientificToDecimal(flatMat, 10); |
444 | 447 | ||
445 | return "perspective(" + 1400 + ") matrix3d(" + flatMatSafe + ")"; | 448 | return "matrix3d(" + flatMatSafe + ")"; |
446 | } | 449 | } |
447 | }, | 450 | }, |
448 | 451 | ||