|
|
@ -142,13 +142,13 @@ export class BoardGetFace
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//坐标系共面且法线相反
|
|
|
|
//坐标系共面且法线相反
|
|
|
|
export function MatrixIsCoplane2(matrixFrom: Matrix4, matrixTo: Matrix4, fuzz = 1e-5): boolean
|
|
|
|
export function MatrixIsCoplane2(matrixFrom: Matrix4, matrixTo: Matrix4, zFuzz: number): boolean
|
|
|
|
{
|
|
|
|
{
|
|
|
|
let nor1 = new Vector3().setFromMatrixColumn(matrixFrom, 2);
|
|
|
|
let nor1 = new Vector3().setFromMatrixColumn(matrixFrom, 2);
|
|
|
|
let nor2 = new Vector3().setFromMatrixColumn(matrixTo, 2);
|
|
|
|
let nor2 = new Vector3().setFromMatrixColumn(matrixTo, 2);
|
|
|
|
|
|
|
|
|
|
|
|
//法线共面
|
|
|
|
//法线共面
|
|
|
|
if (!equalv3(nor1, nor2.negate(), fuzz))
|
|
|
|
if (!equalv3(nor1, nor2.negate(), 1e-5))
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
|
|
//高共面
|
|
|
|
//高共面
|
|
|
@ -156,7 +156,7 @@ export function MatrixIsCoplane2(matrixFrom: Matrix4, matrixTo: Matrix4, fuzz =
|
|
|
|
//变换到自身对象坐标系.
|
|
|
|
//变换到自身对象坐标系.
|
|
|
|
pt.applyMatrix4(new Matrix4().getInverse(matrixFrom));
|
|
|
|
pt.applyMatrix4(new Matrix4().getInverse(matrixFrom));
|
|
|
|
|
|
|
|
|
|
|
|
return equaln(pt.z, 0, fuzz);
|
|
|
|
return equaln(pt.z, 0, zFuzz);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export function GetSideFaceMtx(cu: Curve, inverseZ = false): Matrix4
|
|
|
|
export function GetSideFaceMtx(cu: Curve, inverseZ = false): Matrix4
|
|
|
|
{
|
|
|
|
{
|
|
|
|