// Cutting point of three planes Foam::point Foam::plane::planePlaneIntersect ( const plane& plane2, const plane& plane3 ) const { FixedList<scalar, 4> coeffs1(planeCoeffs()); FixedList<scalar, 4> coeffs2(plane2.planeCoeffs()); FixedList<scalar, 4> coeffs3(plane3.planeCoeffs()); tensor a ( coeffs1[0],coeffs1[1],coeffs1[2], coeffs2[0],coeffs2[1],coeffs2[2], coeffs3[0],coeffs3[1],coeffs3[2] ); vector b(coeffs1[3],coeffs2[3],coeffs3[3]); return (inv(a) & (-b)); }
// Cutting point of three planes Foam::point Foam::plane::planePlaneIntersect ( const plane& plane2, const plane& plane3 ) const { List<scalarList> pcs(3); pcs[0]= planeCoeffs(); pcs[1]= plane2.planeCoeffs(); pcs[2]= plane3.planeCoeffs(); tensor a ( pcs[0][0],pcs[0][1],pcs[0][2], pcs[1][0],pcs[1][1],pcs[1][2], pcs[2][0],pcs[2][1],pcs[2][2] ); vector b(pcs[0][3],pcs[1][3],pcs[2][3]); return (inv(a) & (-b)); }