kottore / away3d

Automatically exported from code.google.com/p/away3d
0 stars 0 forks source link

renderer not check faces under mouse cursor then bothsides=true (Away3DLite) #63

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Away3DLite 1.0

renderer not check faces under mouse cursor then bothsides=true

in method Renderer.getMouseFace(x:Number, y:Number):void code

if ((v0x*(y - v1y) + v1x*(v0y - y) + x*(v1y - v0y)) < -0.001)
continue;
if ((v0x*(v2y - y) + x*(v0y - v2y) + v2x*(y - v0y)) < -0.001)
continue;
if ((x*(v2y - v1y) + v1x*(y - v2y) + v2x*(v1y - y)) < -0.001)
continue;

my resolution

if (_face.mesh.bothsides && (v0x*(v2y - v1y) + v1x*(v0y - v2y) + v2x*(v1y -
v0y)) < -0.001)
{
if ((v0x*(y - v1y) + v1x*(v0y - y) + x*(v1y - v0y)) > 0.001)
continue;
if ((v0x*(v2y - y) + x*(v0y - v2y) + v2x*(y - v0y)) > 0.001)
continue;
if ((x*(v2y - v1y) + v1x*(y - v2y) + v2x*(v1y - y)) > 0.001)
continue;
}
else
{
if ((v0x*(y - v1y) + v1x*(v0y - y) + x*(v1y - v0y)) < -0.001)
continue;
if ((v0x*(v2y - y) + x*(v0y - v2y) + v2x*(y - v0y)) < -0.001)
continue;
if ((x*(v2y - v1y) + v1x*(y - v2y) + v2x*(v1y - y)) < -0.001)
continue;
}

Original issue reported on code.google.com by System.g...@gmail.com on 26 Sep 2009 at 6:22