v1.sub(b, a);
v2.sub(c, a);
faceNormal.cross(v1, v2);
if (faceNormal.length()==0) continue;
faceNormal.normalize();
// suppose the faces are nearly flat, with small deflection
// check the scalar product is >0, so each face is the same orientation
// otherwise, reverse the normal
float scalara = normal[ja] * faceNormal.x + normal[ja+1] * faceNormal.y + normal[ja+2] * faceNormal.z;